I would just caution that this does not affect member functions, only module-level functions. You have to repeat the @safe: inside any structs or classes as well.
Just tried that and it works very well (throws compilation errors): https://gist.github.com/run-dlang/ba59bcca4464d875f95f975d13bebe88
It seems that it works even for member functions! But still not sure about anonymous functions and delegates.