mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
21 lines
480 B
D
21 lines
480 B
D
template forward(args...)
|
|
{
|
|
@property fwd()() { return args[0]; }
|
|
static assert(__traits(compiles, { auto ex = fwd; }));
|
|
alias fwd forward;
|
|
}
|
|
|
|
void initializeClassInstance(C, Args...)(C chunk, auto ref Args args)
|
|
{
|
|
chunk.__ctor(forward!args);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
static int si = 0;
|
|
static class C { this(int) { ++si; } }
|
|
void[__traits(classInstanceSize, C)] buff = void;
|
|
auto c = cast(C) buff.ptr;
|
|
initializeClassInstance(c, 0);
|
|
assert(si);
|
|
}
|