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