blob: d1133b0eef09a253ab401d683d12e3c7023b58e5 [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/fail302.d(23): Error: cannot implicitly convert expression `1` of type `int` to `Bar`
fail_compilation/fail302.d(23): `bar = 1` is the first assignment of `bar` therefore it represents its initialization
fail_compilation/fail302.d(23): `opAssign` methods are not used for initialization, but for subsequent assignments
---
*/
struct Bar
{
uint num;
Bar opAssign(uint otherNum)
{
num = otherNum;
return this;
}
}
void main()
{
Bar bar = 1; // disallow because construction is not assignment
auto x = bar.num;
}