This might provide users with more graceful diagnostics if they should ever try and call this function with non-ConceptDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@330798
91177308-0d34-0410-b5e6-
96231b3b80d8
// This function can only be instantiated with ConceptDecl. We made it a
// template so that ConceptDecl only has to be defined where this is called.
template <class ConceptDeclTy = ConceptDecl>
- void setConceptRep(ConceptDeclTy *Rep) {
+ void
+ setConceptRep(typename llvm::identity<ConceptDeclTy>::argument_type *Rep) {
static_assert(std::is_same<ConceptDeclTy, ConceptDecl>::value,
"Must only be instantiated with ConceptDecl");
assert(isConceptSpecified() && "DeclSpec does not store a concept");