sammccall added a comment.

In D76696#1943657 <https://reviews.llvm.org/D76696#1943657>, @ebevhan wrote:

> However, this just means that `baz` has a very odd type; it's a variable of 
> closure type that contains a dependent member that will never be resolved. 
> Our diagnostic breaks, since the variable's type isn't dependent, but it has 
> a member which is, and we can't take the size of that.


Interesting. Simply turning this off for lambdas isn't enough. The following 
crashes clang for me:

  class X {
    decltype(unresolved()) foo;
  };
  constexpr int s = sizeof(X);

@hokein I think we need to revert until we find a solution for this. I suspect 
this is going to mean adding the error bit to type and... dropping members that 
have it set? Or marking them as invalid?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76696/new/

https://reviews.llvm.org/D76696



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to