1 // RUN: %clang_cc1 -std=c++17 -verify %s
3 // expected-no-diagnostics
5 template <class T
> struct add_restrict
{
6 typedef T __restrict type
;
9 template <class T
, class V
> struct is_same
{
10 static constexpr bool value
= false;
13 template <class T
> struct is_same
<T
, T
> {
14 static constexpr bool value
= true;
17 static_assert(is_same
<int & __restrict
, add_restrict
<int &>::type
>::value
, "");
18 static_assert(is_same
<int(), add_restrict
<int()>::type
>::value
, "");