[PATCH] D71920: [AST] Refactor propagation of dependency bits. NFC
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 20 09:52:28 PST 2020
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
More information about the cfe-commits
mailing list