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. First, abandons the shared state (as in ~promise()), then assigns the shared state of 
other as if by executing std::promise(std::move(other)).swap(*this).2) 
promise is not copy-assignable.[edit] Parameters
| other | - | another promiseto acquire the state from | 
[edit] Return value
*this
[edit] Exceptions
1) 
noexcept specification:  
noexcept
  

