digitalmars.D.bugs - [Issue 13587] New: Symbols In Template Mixin Conflict Across Modules
- via Digitalmars-d-bugs (33/33) Oct 08 2014 https://issues.dlang.org/show_bug.cgi?id=13587
https://issues.dlang.org/show_bug.cgi?id=13587 Issue ID: 13587 Summary: Symbols In Template Mixin Conflict Across Modules Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: major Priority: P1 Component: DMD Assignee: nobody puremagic.com Reporter: a.blunt ibexinnovations.co.uk Referencing symbols defined in a template mixin causes a "conflict" error (see below) when mixin is used in several modules: // ModuleA.d module ModuleA; import ModuleB; mixin MixinUsefulStuff; pragma(msg, "a = ", SomeData.a); // Error: ModuleB.MixinUsefulStuff!().SomeData at ModuleB.d(5) conflicts with ModuleA.MixinUsefulStuff!().SomeData at ModuleB.d(5) // ModuleB.d module ModuleB; mixin template MixinUsefulStuff() { struct SomeData { enum a = 123; } } mixin MixinUsefulStuff; --
Oct 08 2014