This code doesn't work in @safe mode because of some compiler-generated code not being @safe: @safe: void foo(string[] val...) { } void main() { foo("a", "b"); // Error: variable voidinitvararg.main.__arrayArg3 void initializers for pointers not allowed in safe functions }
https://github.com/D-Programming-Language/dmd/pull/226
https://github.com/D-Programming-Language/dmd/commit/7aeb7d284d8bcf5edee674fe57af3ae3a26d6afa