================ @@ -3492,10 +3492,13 @@ VarDecl *BindingDecl::getHoldingVar() const { return VD; } -llvm::ArrayRef<Expr *> BindingDecl::getBindingPackExprs() const { +llvm::ArrayRef<BindingDecl *> BindingDecl::getBindingPackDecls() const { assert(Binding && "expecting a pack expr"); - auto *RP = cast<ResolvedUnexpandedPackExpr>(Binding); - return RP->getExprs(); + auto *FP = cast<FunctionParmPackExpr>(Binding); + ValueDecl *const *First = FP->getNumExpansions() > 0 ? FP->begin() : nullptr; + assert((!First || isa<BindingDecl>(*First)) && "expecting a BindingDecl"); + return llvm::ArrayRef<BindingDecl *>((BindingDecl *const *)First, ---------------- erichkeane wrote:
This I did with the use of `cast`, which you gave some good reasons to skip. But I separately commented that I want the C cast gone. https://github.com/llvm/llvm-project/pull/125394 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits