Unique_ptr tem garantia de armazenar nullptr após a movimentação?

Éunique_ptr garantido para armazenarnullptr depois da mudança?

std::unique_ptr<int> p1{new int{23}};
std::unique_ptr<int> p2{std::move(p1)};
assert(!p1); // is this always true?