std::future<T>::~future
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   ~future();  | 
(since C++11) | |
Releases any shared state. This means:
- If the current object holds the last reference to its shared state, the shared state is destroyed.
 - The current object gives up its reference to its shared state.
 
  | 
(since C++14) |