From 2ffc259743df2aa6594a825d4964f56f0d31a1ad Mon Sep 17 00:00:00 2001 From: Yukang Date: Sat, 1 Aug 2026 21:44:44 +0800 Subject: [PATCH] Add regression test for unused_parens on contract clauses --- ...tract-clause-unused-parens-issue-143754.rs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs diff --git a/tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs b/tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs new file mode 100644 index 0000000000000..576d99665f124 --- /dev/null +++ b/tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs @@ -0,0 +1,22 @@ +//@ check-pass +// Regression test for . +// The contract macros wrap the clause in braces rather than parentheses, so `unused_parens` +// must not fire on a contract attribute (and must not emit the attribute-eating suggestion). + +#![expect(incomplete_features)] +#![feature(contracts)] +#![deny(unused_parens)] + +#[core::contracts::requires(x.baz > 0)] +#[core::contracts::ensures(|ret| *ret > 100)] +fn nest(x: Baz) -> i32 { + loop { + return x.baz + 50; + } +} + +struct Baz { + baz: i32, +} + +fn main() {}