22 General utilities library [utilities]

22.5 Optional objects [optional]

22.5.3 Class template optional [optional.optional]

22.5.3.3 Destructor [optional.dtor]

constexpr ~optional();
Effects: If is_trivially_destructible_v<T> is false and *this contains a value, calls val.T​::​~T().
Remarks: If is_trivially_destructible_v<T> is true, then this destructor is trivial.