aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-partial-spec10.C
blob: d45a1b03e89869196b1e471aa8549b5b4e0a6e3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// PR c++/92944
// { dg-do compile { target c++20 } }

namespace ns { template<class T> struct A { }; }

template<class T> requires true struct ns::A<T> { using type = T; };
template<class T> requires false struct ns::A<T> { };

template<class T> struct ns::A<T*> { };
template<class T> requires true struct ns::A<T*> { using type = T; };
template<class T> requires false struct ns::A<T*> { };

using ty1 = ns::A<int>::type;
using ty1 = int;

using ty2 = ns::A<int*>::type;
using ty2 = int;