ahatanak added inline comments.
================ Comment at: lib/Sema/SemaType.cpp:3988 // Allow arrays of auto if we are a generic lambda parameter. // i.e. [](auto (&array)[5]) { return array[0]; }; OK if (AT && D.getContext() != Declarator::LambdaExprParameterContext) { ---------------- jordan_rose wrote: > ahatanak wrote: > > This isn't something that is related to the changes made in this patch, but > > it looks like we issue a -Wnullability-completeness warning when there is a > > generic lambda like this: > > > > ``` > > auto G2 = [](auto a){}; > > ``` > > > > Is this expected? > It's not desired, but it's not a regression either. D26226 mentions how this > comes up with explicit templates, so it doesn't surprise me that it happens > with generic lambdas too. It turns out it has nothing to do with this patch or your other patches. The warning is issued when there is a variable initialized with any kind of lambda: ``` auto G2 = [](int a){}; ``` This happens because Type::canHaveNullability() returns true when it is an undeduced auto and checkNullabilityConsistency records its location. Repository: rL LLVM https://reviews.llvm.org/D26108 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits