gecko-dev/tools/clang-tidy/test/bugprone-move-forwarding-reference.cpp
Sylvestre Ledru 88e7b97c2a Bug 1551083 - Enable bugprone-move-forwarding-reference r=andi
Differential Revision: https://phabricator.services.mozilla.com/D30816

--HG--
extra : moz-landing-system : lando
2019-05-14 07:12:37 +00:00

26 lines
679 B
C++

namespace std {
template <typename> struct remove_reference;
template <typename _Tp> struct remove_reference { typedef _Tp type; };
template <typename _Tp> struct remove_reference<_Tp &> { typedef _Tp type; };
template <typename _Tp> struct remove_reference<_Tp &&> { typedef _Tp type; };
template <typename _Tp>
constexpr typename std::remove_reference<_Tp>::type &&move(_Tp &&__t);
} // namespace std
// Standard case.
template <typename T, typename U> void f1(U &&SomeU) {
T SomeT(std::move(SomeU));
// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: forwarding reference passed to
// CHECK-FIXES: T SomeT(std::forward<U>(SomeU));
}
void foo() {
f1<int, int>(2);
}