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()13 int main() {
14   std::optional<U> opt1;
15   std::optional<T> opt2;
16   opt2 = opt1; // PR libstdc++/100982
17 }
18