blob: 1e86c95c4f0e177dc309ebbe46891f0b02ddca36 [file] [log] [blame]
class ByNameC(alias Var)
{
alias var = Var;
}
struct ByNameS(alias Var)
{
alias var = Var;
ubyte value = 1;
}
void main()
{
ulong x;
ByNameS!x v;
ubyte w = 2;
v.var = 0xAA_BB; /* stomps over v.value and w */
assert(w == 2);
assert(v.value == 1);
//printf("%x\n", w); /* prints "aa", should be 2 */
//printf("%x\n", v.value); /* prints "bb", should be 1 */
auto c = new ByNameC!x;
c.var = 0xAA_BB; /* stomps over c.__vptr */
assert(*cast(ulong*)c != 0xAA_BB);
//printf("%x\n", *cast(ulong*)c); /* prints "aabb", should be pointer value */
assert(x == 0xAA_BB);
//printf("%lx\n", x); /* prints 0, should be "aabb" */
}