is_move_assignable is a C++ type trait that checks whether a type can be assigned from an rvalue of that type. section 6.1.4
Interpret the result carefully:
- The trait tests whether assignment from an rvalue is possible; it does not prove that a move-assignment operator exists. section 6.1.4
- A const lvalue-reference assignment function can accept an rvalue, so a reported positive result may represent copying rather than moving. section 6.1.4
- A user-declared destructor can block implicit move operations, making a type appear assignable from a temporary without providing an actual move assignment operator. section 6.1.4
Checking Blob
A compile-time check can write static_assert(!std::is_move_assignable_v<Race::Blob>);. For Blob, disabled copy operations and missing move operations make assignment from an rvalue unavailable. section 6.1.4
