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