diff --git a/toolchain/parse/extract.h b/toolchain/parse/extract.h index 821b3e1ce8c5..f7daa9035481 100644 --- a/toolchain/parse/extract.h +++ b/toolchain/parse/extract.h @@ -273,10 +273,10 @@ auto NodeExtractor::ExtractTupleLikeType( // Use a fold over the `=` operator to parse fields from right to left. [[maybe_unused]] int unused; bool ok = true; - static_cast( - ((ok && (ok = (std::get(fields) = Extractable::Extract(*this)) - .has_value()), - unused) = ... = 0)); + // NOLINTNEXTLINE(bugprone-assignment-in-selection-statement) + ((ok && (ok = (std::get(fields) = Extractable::Extract(*this)) + .has_value()), + unused) = ... = 0); if (!ok) { MaybeTrace("Aggregate {0}: error\n", llvm::getTypeName()); return std::nullopt;