23 General utilities library [utilities]

23.6 Optional objects [optional]

23.6.3 Class template optional [optional.optional]

23.6.3.2 Destructor [optional.dtor]

~optional();

Effects: Если is_­trivially_­destructible_­v<T> != true и *this содержит значение, вызывает

val->T::~T()

Remarks: Если is_­trivially_­destructible_­v<T> == true тогда этот деструктор должен быть тривиальным деструктором.