std::promise::operator=
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   promise& operator=( promise&& other );  | 
(1) | (since C++11) | 
|   promise& operator=( const promise& rhs ) = delete;  | 
(2) | (since C++11) | 
Assigns the contents.
1) Move assignment operator. Assigns the shared state of 
other using move semantics. other is in valid, but undefined state afterwards.2) 
promise is not copy-assignable.[edit] Parameters
| other | - |   another promise to acquire the state from
 | 
[edit] Return value
*this
[edit] Exceptions
1)