c++: Fix specialization of constrained member template.
authorJason Merrill <jason@redhat.com>
Mon, 11 May 2020 19:46:59 +0000 (15:46 -0400)
committerJason Merrill <jason@redhat.com>
Mon, 11 May 2020 20:19:53 +0000 (16:19 -0400)
commit52c5933f5838adb7bf6035e648b770b4958d137f
tree18c8454e7f9ca88cfe88f2eb42b7658ff1d0312c
parent0f50f6daa140186a048cbf33f54f4591eabf5f12
c++: Fix specialization of constrained member template.

The resolution of comment CA104 clarifies that we need to do direct
substitution of constraints in order to determine which member template
corresponds to an explicit specialization.

gcc/cp/ChangeLog
2020-05-11  Jason Merrill  <jason@redhat.com>

Resolve C++20 NB comment CA104
* pt.c (determine_specialization): Compare constraints for
specialization of member template of class instantiation.
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/g++.dg/cpp2a/concepts-spec1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/nontype18.C