https://issues.dlang.org/show_bug.cgi?id=15191 --- Comment #2 from Walter Bright <bugzilla at digitalmars.com> --- The trouble here is the following: int[N]* bar(return ref int[N] s) @safe { return &foo(s); // <== taking the address of a reference should be an error } --