1 // RUN: %clang_analyze_cc1 -analyzer-checker=core -std=c++11 -fdelayed-template-parsing -verify %s
2 // expected-no-diagnostics
4 template <class T
> struct remove_reference
{typedef T type
;};
5 template <class T
> struct remove_reference
<T
&> {typedef T type
;};
6 template <class T
> struct remove_reference
<T
&&> {typedef T type
;};
9 typename remove_reference
<T
>::type
&& move(T
&& arg
) { // this used to crash
10 return static_cast<typename remove_reference
<T
>::type
&&>(arg
);