Quick Q: Is unique_ptr guaranteed to store nullptr after move? -- StackOverflow
Quick A: Yes. Otherwise, it would be unsafe and a lot less unique.
From SO:
Is
unique_ptrguaranteed to storenullptrafter move?std::unique_ptr<int> p1{new int{23}}; std::unique_ptr<int> p2{std::move(p1)}; assert(!p1); // is this always true?

There was a very strong C++ track on