https://issues.dlang.org/show_bug.cgi?id=14125 --- Comment #34 from Walter Bright <bugzilla at digitalmars.com> --- This also flunks that rule: @safe T* func(T* p) { @trusted { p += 5; } return p; } If it is not clear why, please let me know. --