eandrews accepted this revision. eandrews added a comment. This revision is now accepted and ready to land.
In D146535#4210268 <https://reviews.llvm.org/D146535#4210268>, @cor3ntin wrote: > In D146535#4210198 <https://reviews.llvm.org/D146535#4210198>, @eandrews > wrote: > >>> Attributes of lambda call operator were evaluated in the context of the >>> closure object type rather than its operator, >> >> Just for my understanding, what did this affect with regards to the if guard >> for assert? CurContext or something else? I suspected it had something to do >> with contexts being incorrect but I wasn't familiar enough with the code to >> pinpoint where/what exactly. > > Exactly `CurContext`. For the purpose of mangling lambda the context needs to > be the parent of the lambda class, so `!CurLSI->Lambda->Encloses(CurContext)` > - which check that we are actually in the lambda - was (incorrectly) true. > > Note that you are right about the assert being fishy to begin with but that's > a preexisting thing and i can't quite convince myself than removing it > entirely wouldn't break something. That we were in the wrong context is > something i broke :( Thanks for explaining! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146535/new/ https://reviews.llvm.org/D146535 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits