erichkeane 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: > mlychkov wrote: > > 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. > Good catch! I think we should add the assertion on `TC` being nonnull back. > I'll take care of that. Ooh, good catch! I definitely missed that when suggesting removing the assert. @aaron.ballman can you re-add the assert on 1065? 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