[clang] [Clang][RFC] Intrododuce a builtin to determine the structure binding size (PR #131515)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 17 01:42:01 PDT 2025
================
@@ -4160,6 +4160,54 @@ static bool CheckVecStepTraitOperandType(Sema &S, QualType T,
return false;
}
+static ExprResult BuildStructuredBindingSizeTraitImpl(Sema &S, QualType T,
+ Expr *E,
+ TypeSourceInfo *TInfo,
+ SourceLocation Loc,
+ SourceRange ArgRange) {
+ assert(!!E != !!TInfo);
+ assert(!T->isDependentType());
+ std::optional<unsigned> Size =
+ S.GetDecompositionElementCount(T, ArgRange.getBegin());
+ if (!Size) {
+ return S.Diag(Loc, diag::err_arg_is_not_destructurable) << T << ArgRange;
----------------
cor3ntin wrote:
See https://clang.llvm.org/doxygen/classclang_1_1StreamingDiagnostic.html#ab743b18fd7c24d885948726ab3b75e54
https://github.com/llvm/llvm-project/pull/131515
More information about the cfe-commits
mailing list