https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117889
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-12-03 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I see the difference between this one and PR 117858. This is doing a construction of std::optional while the other is doing a operator=. So the reduced testcase is just: ``` #include <optional> struct Focus { template<class T> Focus(T newValue) ; }; void g(std::optional<Focus> f) { std::optional<Focus> b = f; } ```