```
template<class T>
concept MoveConstructible = Constructible<T, T> && ConvertibleTo<T, T>;
```

If T is an object type, then let rv be an rvalue of type
T and u2 a distinct object of type T equal to
rv.

T models MoveConstructible only if

- If T is not const, rv's resulting state is valid but unspecified ([lib.types.movedfrom]); otherwise, it is unchanged.