Handle unexpanded packs appearing in type-constraints.
authorRichard Smith <richard@metafoo.co.uk>
Thu, 13 May 2021 01:29:26 +0000 (18:29 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Thu, 13 May 2021 01:45:34 +0000 (18:45 -0700)
commite1aa528d3aaf5fcf9c50d1e34b39dbde1e63801d
treef4aa6fc1ed34b3a130f6324aa5f0d0a7574f1a40
parent2f9d8b08ea658b612065cbf7d4b0fbd7f28bb36a
Handle unexpanded packs appearing in type-constraints.

For a type-constraint in a lambda signature, this makes the lambda
contain an unexpanded pack; for requirements in a requires-expressions
it makes the requires-expression contain an unexpanded pack; otherwise
it's invalid.
clang/include/clang/AST/DeclTemplate.h
clang/include/clang/AST/RecursiveASTVisitor.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/DeclTemplate.cpp
clang/lib/AST/Type.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaTemplate.cpp
clang/lib/Sema/SemaType.cpp
clang/test/SemaTemplate/concepts.cpp