1 // PR c++/86981 2 // { dg-do compile { target c++17 } } 3 // { dg-options "-Wpessimizing-move" } 4 5 #include <utility> 6 #include <optional> 7 8 struct T { TT9 T() { } TT10 T(const T&) { } TT11 T(T&&) { } 12 }; 13 14 std::optional<T> fn()15 fn () 16 { 17 T t; 18 return std::move (t); 19 } 20