https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117509
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This suppresses the warning for me: --- 117509.C 2024-11-19 15:24:47.447035585 -0500 +++ 117509-2.C 2024-11-19 15:25:05.041046272 -0500 @@ -3,7 +3,7 @@ struct Optional { union { T v; }; bool flag; - [[nodiscard]] auto value() && -> T&& { return (T&&)v; } + [[nodiscard, gnu::no_dangling]] auto value() && -> T&& { return (T&&)v; } [[nodiscard]] auto operator*() && -> T&& { return (T&&)v; } };