digitalmars.D.learn - Template mixin / unresolved external / scope problem?
- =?iso-8859-1?Q?Robert_M._M=FCnch?= (22/22) Nov 28 2019 I have:
- Jacob Carlborg (6/33) Nov 28 2019 Are you using the latest version, 2.089.0? It might be fixed in that
- =?iso-8859-1?Q?Robert_M._M=FCnch?= (11/15) Nov 29 2019 Ha! Thanks Jacob, that looks like the root-cause. Didn't expect to use
I have:
a.d:
extern (C) void myFuncA();
void myFuncB() {
myFuncA();
}
b.d:
public import a;
mixin template MYFUNCA() {
extern (C) void myFuncA() {...}
}
c.d:
import b;
mixin MYFUNCA;
...further code...
Compiling such a structure gives me an unresolved external in a.d/myFuncB
I assume this is because the mixin get's it's own scope. Is this
correct? How can I solve such a setup?
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster
Nov 28 2019
On 2019-11-28 16:40, Robert M. Münch wrote:
I have:
a.d:
extern (C) void myFuncA();
void myFuncB() {
    myFuncA();
}
b.d:
public import a;
mixin template MYFUNCA() {
    extern (C) void myFuncA() {...}
}
c.d:
import b;
mixin MYFUNCA;
...further code...
Compiling such a structure gives me an unresolved external in a.d/myFuncB
I assume this is because the mixin get's it's own scope. Is this
correct? How can I solve such a setup?
Are you using the latest version, 2.089.0? It might be fixed in that
version [1].
[1] https://dlang.org/changelog/2.089.0.html#mixin_template_mangling
--
/Jacob Carlborg
Nov 28 2019
On 2019-11-28 16:36:36 +0000, Jacob Carlborg said:Are you using the latest version, 2.089.0? It might be fixed in that version [1]. [1] https://dlang.org/changelog/2.089.0.html#mixin_template_manglingHa! Thanks Jacob, that looks like the root-cause. Didn't expect to use a feature which was just fixe in the newest compiler release... Using it now, but 2.089 broke some code using CAS... need to take a look into it first before I can tell if it works with the template mixin. Thanks. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Nov 29 2019








=?iso-8859-1?Q?Robert_M._M=FCnch?= <robert.muench saphirion.com>