[Issue 15389] extern(C++) forward referencing problem

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Jan 2 23:10:49 PST 2016


https://issues.dlang.org/show_bug.cgi?id=15389

--- Comment #1 from Manu <turkeyman at gmail.com> ---
This may be related to apparent circular referencing issues:

module x;
import y;
extern(C++, ns) class X { Y v; }


module y;
import x;
extern(C++, ns) class Y { X v; }

y.d(3): Error: undefined identifier 'X'


extern(C++, ns) class Y { x.X v; }

y.d(3): Error: undefined identifier 'X' in module 'x'


extern(C++, ns) class Y { x.ns.X v; }

y.d(3): Error: identifier 'X' of 'x.ns.X' is not defined
y.d(3): Error: x.ns.X is used as a type


import x : XX = X;
extern(C++, ns) class Y { XX v; }

y.d(2): Error: module x import 'X' not found


import x : NS = ns;
extern(C++, ns) class Y { NS.X v; }

y.d(3): Error: identifier 'X' of 'NS.X' is not defined
y.d(3): Error: NS.X is used as a type


import x : XX = ns.X;
extern(C++, ns) class Y { XX v; }

y.d(2): Error: ';' expected
y.d(2): Error: no identifier for declarator X


I dunno!

--


More information about the Digitalmars-d-bugs mailing list