1 // { dg-do compile { target c++17 } } 2 3 #include <optional> 4 5 struct U {}; 6 7 struct T { 8 explicit T(const U&); 9 T& operator=(const U&); 10 T& operator=(U&&) = delete; 11 }; 12 main()13int main() { 14 std::optional<U> opt1; 15 std::optional<T> opt2; 16 opt2 = opt1; // PR libstdc++/100982 17 } 18