rsmith added a comment.

In D71920#1870195 <https://reviews.llvm.org/D71920#1870195>, @sammccall wrote:

> If you'd like to have `concept::Requirement` use a similar bitfield, I'd just 
> like to confirm my understanding of the current code before refactoring it:
>
> - there's just one `Dependent` bit (along with `UnexpandedPack`) - 
> instantiation-dependence isn't relevant?


Correct; requirements are weird in this regard because substitution failure 
affects their value rather than their validity, so there's no difference 
between "refers to template parameter / substitution can fail" and "value 
depends on template parameters"

> - RequiresExpr is only instantiation-dependent if value-dependent (unlike 
> other exprs)

I don't think that's quite correct: a RequiresExpr should also be 
instantiation-dependent if it has instantiation-dependent parameters. Other 
than that case, it's both value-dependent and instantiation-dependent if it has 
dependent requirements and neither otherwise, so yes, the two flags are the 
same.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71920



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

Reply via email to