non_null_unique_ptr<T>
If your build system respects ClangTidy checks and turn them into errors, it's effectively the same as a compiler guarantee.
EDIT: Why are you booing me? I'm right.