digitalmars.D.bugs - [Issue 2402] New: Type is not found if accessed via renamed import
- d-bugmail puremagic.com (35/35) Oct 08 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2402
- d-bugmail puremagic.com (12/12) Nov 24 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2402
- d-bugmail puremagic.com (36/36) Feb 14 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2402
http://d.puremagic.com/issues/show_bug.cgi?id=2402 Summary: Type is not found if accessed via renamed import Product: D Version: 2.019 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: 2korden gmail.com module m1; struct Foo { int x; } module m2; struct Foo { int x; int y; } module m; import M1 = m1; import M2 = x2; // line 4 import M2 = m2; // line 5 M2.Foo convert(M1.Foo foo) { M2.Foo result = void; result.x = foo.x; result.y = foo.y; return result; } m.d(7): Error: identifier 'Foo' of 'M2.Foo' is not defined m.d(7): Error: M2.Foo is used as a type Note that swapping lines 4 and 5 workarounds the issue. But there appears another issue: m.d(11): Error: no property 'y' for type 'Foo' Which one? Error should mention be M1.Foo instead of just Foo. (Shall I move it into separate enhancement issue?) --
Oct 08 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2402 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |diagnostic The first thing it complains about should be that x2 is not found. Or if it is, that M2 is defined twice. I agree about your last comment. It should probably be (and might already be, but I'm not sure) filed as a separate issue. --
Nov 24 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2402 dawg dawgfoto.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |dawg dawgfoto.de Resolution| |WORKSFORME cat > m1.d << CODE module m1; struct Foo { int x; } CODE cat > m2.d << CODE module m2; struct Foo { int x; int y; } CODE cat > m.d << CODE module m; import M1 = m1; import M2 = x2; // line 4 import M2 = m2; // line 5 M2.Foo convert(M1.Foo foo) { M2.Foo result = void; result.x = foo.x; result.y = foo.y; return result; } CODE dmd -c m.d ---------- With dmd2.057: m.d(4): Error: module x2 is in file 'x2.d' which cannot be read -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 14 2012