================ @@ -5697,6 +5698,39 @@ QualType ASTContext::getDecltypeType(Expr *e, QualType UnderlyingType) const { return QualType(dt, 0); } +QualType ASTContext::getPackIndexingType(QualType Pattern, Expr *IndexExpr, + bool FullyExpanded, + ArrayRef<QualType> Expansions, + int Index) const { + QualType Canonical; + if (FullyExpanded && Index != -1) { ---------------- cor3ntin wrote:
given ```cpp auto f(auto... a) -> decltype(a...[0]); auto g(auto b...) { return f<int>(b...); } ``` We end up in a situation where we have some expansion for `a...` because explicit parameters (int) are substituted, but we still have a pack. We seem to use "Partially substituted" in some other places, would that be more clear? https://github.com/llvm/llvm-project/pull/72644 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits