================ @@ -5321,6 +5321,58 @@ class BuiltinBitCastExpr final } }; +// Represents an unexpanded pack where the list of expressions are +// known. These are used when structured bindings introduce a pack. +class ResolvedUnexpandedPackExpr final + : public Expr, + private llvm::TrailingObjects<ResolvedUnexpandedPackExpr, Stmt *> { ---------------- erichkeane wrote:
The only place you're using this as a Stmt is for children, and the cast that way is 'safe' (and Expr isa Stmt). This change likely saves a bunch of casting elsewhere. https://github.com/llvm/llvm-project/pull/121417 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits