xref: /llvm-project/libcxx/test/std/utilities/utility/declval/declval.verify.cpp (revision c555a12377307909bd47e5de798059089eaa3f85)
1*c555a123SIgor Zhukov //===----------------------------------------------------------------------===//
2*c555a123SIgor Zhukov //
3*c555a123SIgor Zhukov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*c555a123SIgor Zhukov // See https://llvm.org/LICENSE.txt for license information.
5*c555a123SIgor Zhukov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*c555a123SIgor Zhukov //
7*c555a123SIgor Zhukov //===----------------------------------------------------------------------===//
8*c555a123SIgor Zhukov 
9*c555a123SIgor Zhukov // <utility>
10*c555a123SIgor Zhukov 
11*c555a123SIgor Zhukov // template <class T> typename add_rvalue_reference<T>::type declval() noexcept;
12*c555a123SIgor Zhukov 
13*c555a123SIgor Zhukov #include <utility>
14*c555a123SIgor Zhukov 
15*c555a123SIgor Zhukov int x = std::declval<
16*c555a123SIgor Zhukov     int>(); // expected-error-re@*:* {{static assertion failed{{.*}}std::declval can only be used in an unevaluated context.}}
17