mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
35 lines
1.1 KiB
D
35 lines
1.1 KiB
D
// https://issues.dlang.org/show_bug.cgi?id=20012
|
|
|
|
mixin template mixinFoo() {
|
|
|
|
extern(C) void cFoo() {}
|
|
|
|
extern(C) int cVar;
|
|
extern(D) int dVar;
|
|
|
|
void dFoo() {}
|
|
|
|
mixin(`mixin mixinBar;`); // test nesting and interaction with string mixins
|
|
}
|
|
|
|
mixin mixinFoo;
|
|
|
|
mixin template mixinBar() {
|
|
extern(C) void cBar() {}
|
|
void dBar() {}
|
|
}
|
|
|
|
static assert(cFoo.mangleof == "cFoo");
|
|
static assert(dFoo.mangleof == "_D21mixinTemplateMangling8__mixin54dFooFZv");
|
|
static assert(cVar.mangleof == "cVar");
|
|
static assert(dVar.mangleof == "_D21mixinTemplateMangling8__mixin54dVari");
|
|
static assert(cBar.mangleof == "cBar");
|
|
static assert(dBar.mangleof == "_D21mixinTemplateMangling8__mixin5Qj4dBarFZv");
|
|
|
|
struct S {
|
|
mixin mixinFoo;
|
|
static assert(cFoo.mangleof == "_D21mixinTemplateMangling1S8__mixin14cFooMUZv");
|
|
static assert(cBar.mangleof == "_D21mixinTemplateMangling1S8__mixin18__mixin54cBarMUZv");
|
|
static assert(dBar.mangleof == "_D21mixinTemplateMangling1S8__mixin18__mixin54dBarMFZv");
|
|
static assert(dFoo.mangleof == "_D21mixinTemplateMangling1S8__mixin14dFooMFZv");
|
|
}
|