Fun times: --------------- void main() { Foo foo; takesRef(foo.create.i); // oops } struct Foo { int i; Foo create() { return Foo(); } } void takesRef(ref int x) { } --------------- Even more fun with auto ref: https://issues.dlang.org/show_bug.cgi?id=19507