// PR c++/103049
// P0849R8 - auto(x)
// { dg-do compile { target c++23 } }
// Testcase from P0849R8.
struct A {};
void f(A&) = delete;  // #1
void f(A&&); // #2
A& g();
void h() {
//  f(g());      // calls #1
  f(A(g()));     // calls #2 with a temporary object
  f(auto(g()));  // calls #2 with a temporary object
}