@safe will also stop you doing obviously unsafe pointer arithmetic unless you abstract it into a @trusted function.