/* REQUIRED_ARGS: -o- TEST_OUTPUT: --- fail_compilation/fail20730a.d(11): Error: undefined identifier `undef20730` --- */ void test20730() { auto f = File().byLine; undef20730(); } struct File { shared uint refs; this(this) { atomicOp!"+="(refs, 1); } struct ByLineImpl(Char) { File file; char[] line; } auto byLine() { return ByLineImpl!char(); } } T atomicOp(string op, T, V1)(ref shared T val, V1 mod) if (__traits(compiles, mixin("*cast(T*)&val" ~ op ~ "mod"))) { return val; }