www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 282] New: Bizarre circular import nested name invisibility issue

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282

           Summary: Bizarre circular import nested name invisibility issue
           Product: D
           Version: 0.163
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: jarrett.billingsley gmail.com


I really don't know what else to call this, and it's a bit tedious to get to
happen.  So here's the general idea:

------ [modules/test1.d] --------

module modules.test1;
import modules.test2;

struct A
{
        enum B
        {
                One,
                Two
        }
}

void bar()
{
        foo();
}

--------- [modules/test2.d] ---------

module modules.test2;
import modules.test1;

A.B foobar; // error, no property B for type A?!

void foo()
{
        int x;

        if(x == A.B.One) // but this is OK
                x = 1;
}

---------------------------------

Some interesting facts:

- This only seems to happen if the modules are in a package.  If they're two
top-level modules, it works fine.

- Notice I can't use A.B as a type, but I can in fact access A.B's members.

- Using static imports/aliased imports does not help.

I don't know how to get it to not work the way it does in MiniD - that is, I
can't even use A.B in the same module that A.B is defined!

This is, for me, something of a showstopper.. I'll probably be using 0.162 for
a bit, which is sad, considering how cool the 0.163 features are!  I don't know
if I should change the priority of this bug, but this is something that can't
be worked around easily, so I'd put it pretty high up there.


-- 
Aug 10 2006
next sibling parent reply Derek Parnell <derek nomail.afraid.org> writes:
On Fri, 11 Aug 2006 03:43:18 +0000 (UTC), d-bugmail puremagic.com wrote:


 This is, for me, something of a showstopper.. I'll probably be using 0.162 for
 a bit, which is sad, considering how cool the 0.163 features are!  I don't know
 if I should change the priority of this bug, but this is something that can't
 be worked around easily, so I'd put it pretty high up there.
It depends on the order that you compile the modules. This works... dmd -c modules\test2 modules\test1 This doesn't ... dmd -c modules\test1 modules\test2 -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 11/08/2006 3:02:17 PM
Aug 10 2006
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Derek Parnell" <derek nomail.afraid.org> wrote in message 
news:17moo13ephs7r.19lhtzygw8iie$.dlg 40tude.net...

 It depends on the order that you compile the modules.

 This works...

 dmd -c modules\test2 modules\test1


 This doesn't ...

 dmd -c modules\test1 modules\test2
Okay, here's something frustrating. That works, and I'm very happy about that. But if you include other modules on the commandline before the conflicting modules, such as: dmd -c modules\test3 modules\test2 modules\test1 It no longer works. But put that other module at the end, and it does. Tedious, but hopefully Walter will fix this. Very soon.
Aug 11 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282


dawid.ciezarkiewicz gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dawid.ciezarkiewicz gmail.co
                   |                            |m








-- 
Aug 11 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282








 
--
Aug 11 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282




PDT ---
Created an attachment (id=455)
ensure semantic run when searching struct for members

When searching members of a class that is not yet semantically analyzed, the
analysis is run on it. This is not done for structs or unions, which is
probably an omission.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 18 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com



03:07:49 PST ---
Changeset 318

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 29 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282


Leandro Lucarella <llucax gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |llucax gmail.com



PST ---
http://d.puremagic.com/issues/show_bug.cgi?id=282

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 29 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282




PST ---

 http://d.puremagic.com/issues/show_bug.cgi?id=282
Damn! http://www.dsource.org/projects/dmd/changeset/318 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 29 2009
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=282


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



11:09:22 PST ---
Fixed dmd 1.054 and 2.038

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 31 2009