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

Reply via email to