- __is_move_assignable
- __is_nothrow_move_assignable
- __is_trivially_move_assignable
This is information that the compiler already has, and should be exposed
so that the library doesn't need to reimplement the exact same
functionality.
Similarly to __is_move_construcitble, etc., these traits can't be
implemented using __is_assignable, etc., because we can't form
references to void, and references are a fundamental part of move
assignment.
This was originally a part of D116280.
Depends on D135240.