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