Case in self assignment of llvm::OwningArrayRef's move constructor

The class does not consider the case of self-assignment, which is considered error-prone.
This class are rarely used, such as by clang::VTableLayout or mlir::ByteCodeExecutor, but we may still need to delete or fix the move constructor to prevent use-after-free bugs.

https://github.com/llvm/llvm-project/blob/b56a103462c8b9a3bac12859f9285b6fa3f5b7bb/llvm/include/llvm/ADT/ArrayRef.h#L426-L431