// { dg-do compile { target c++17 } } #include struct U {}; struct T { explicit T(const U&); T& operator=(const U&); T& operator=(U&&) = delete; }; int main() { std::optional opt1; std::optional opt2; opt2 = opt1; // PR libstdc++/100982 }