[Issue 13587] New: Symbols In Template Mixin Conflict Across Modules
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Wed Oct 8 04:55:52 PDT 2014
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 at puremagic.com
Reporter: a.blunt at 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;
--
More information about the Digitalmars-d-bugs
mailing list