https://issues.dlang.org/show_bug.cgi?id=15660
--- Comment #4 from Steven Schveighoffer <schvei...@yahoo.com> --- (In reply to Iakh from comment #3) > (In reply to Steven Schveighoffer from comment #2) > Even this works: > import std.stdio; > > int[] f(void[] a) @safe pure > { > return cast(int[])a; > } In this case, you are using a cast. The compiler pretty much gives up trying to ensure anything when you cast, so I think it's OK to allow that. Although, I thought such a cast wouldn't work in @safe code. --