mlychkov added inline comments.
================ Comment at: clang/lib/Sema/SemaConcept.cpp:1065-1068 assert(TC && "TPL must have a template type parameter with a type constraint"); auto *Constraint = + cast<ConceptSpecializationExpr>(TC->getImmediatelyDeclaredConstraint()); ---------------- aaron.ballman wrote: > If we're going to be touching this code, there's more suspect code here that > needs to be cleaned up a bit. Directly above this is: > ``` > const TypeConstraint *TC = > cast<TemplateTypeParmDecl>(TPL->getParam(0))->getTypeConstraint(); > assert(TC && > "TPL must have a template type parameter with a type constraint"); > ``` > That assertion can be removed entirely -- if the `cast<>` fails, it doesn't > return null, it asserts. Actually, cast return nonnull value, but TC = "cast_result"->getTypeConstraint(); and TC may become nullptr, I suppose. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D108481/new/ https://reviews.llvm.org/D108481 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits