digitalmars.D.bugs - [Issue 3845] New: [module system] A problem caused by duplicated import
- d-bugmail puremagic.com (39/39) Feb 23 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3845
- d-bugmail puremagic.com (6/6) Aug 01 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3845
- d-bugmail puremagic.com (34/34) Feb 14 2012 http://d.puremagic.com/issues/show_bug.cgi?id=3845
http://d.puremagic.com/issues/show_bug.cgi?id=3845 Summary: [module system] A problem caused by duplicated import Product: D Version: 2.040 Platform: All OS/Version: All Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc A small problem in the module system. To see this problem you need 3 source files, named test1.d, mod1.d, mod2.d: ----------------- module mod1; import std.string: join; import std.string: join; ----------------- module mod2; import std.string: join; ----------------- The main module is test1.d: module test1; import mod1, mod2; void main() { join(["a"], ""); } ----------------- Got, DMD output: test1.d(4): Error: mod1.join at mod1.d(2) conflicts with mod2.join at mod2.d(2) Expected: No errors, or an error in mod1 of duplicated import statement. Note: in real code with many imports it's easy enough to import two times the same name from the same module. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3845 See also bug 4563 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3845 dawg dawgfoto.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |dawg dawgfoto.de Resolution| |WORKSFORME cat > mod1.d << CODE module mod1; import std.string: join; import std.string: join; CODE cat > mod2.d << CODE module mod2; import std.string: join; CODE cat > test1.d << CODE module test1; import mod1, mod2; void main() { join(["a"], ""); } CODE dmd -c test1.d ------- mod1.d(2): Error: alias mod1.join conflicts with alias mod1.join at mod1.d(3) ^--- mod1 It's complaining about: import std.string: join; import std.string: join; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 14 2012