Re: [COMMITTED 51/77] gccrs: add unused braces lint

Arthur Cohen <[email protected]>
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.rust
Message-ID <[email protected]>
Note that upstream the commit changelog is correct and the mention of 
`rust-lang.cc` has been removed.

Thanks,

Arthur

On 8/7/26 2:39 PM, [email protected] wrote:
> From: Lucas Ly Ba <[email protected]>
> 
> gcc/rust/ChangeLog:
> 
> 	* checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
> 	Warn on unnecessary braces around an assigned value.
> 	* rust-lang.cc (grs_langhook_init_options_struct): Enable warn_unused.
> 
> gcc/testsuite/ChangeLog:
> 
> 	* rust/compile/unused-braces_0.rs: New test.
> 
> Signed-off-by: Lucas Ly Ba <[email protected]>
> ---
>   gcc/rust/checks/lints/unused/rust-unused-checker.cc | 9 +++++++++
>   gcc/testsuite/rust/compile/unused-braces_0.rs       | 8 ++++++++
>   2 files changed, 17 insertions(+)
>   create mode 100644 gcc/testsuite/rust/compile/unused-braces_0.rs
> 
> diff --git a/gcc/rust/checks/lints/unused/rust-unused-checker.cc b/gcc/rust/checks/lints/unused/rust-unused-checker.cc
> index 14e2df8dac8..2c521634d8b 100644
> --- a/gcc/rust/checks/lints/unused/rust-unused-checker.cc
> +++ b/gcc/rust/checks/lints/unused/rust-unused-checker.cc
> @@ -330,6 +330,15 @@ UnusedChecker::visit (HIR::LetStmt &stmt)
>   			 "unused doc comment");
>   	break;
>         }
> +  if (stmt.has_init_expr ()
> +      && stmt.get_init_expr ().get_expression_type ()
> +	   == HIR::Expr::ExprType::Block)
> +    {
> +      auto &block = static_cast<HIR::BlockExpr &> (stmt.get_init_expr ());
> +      if (block.get_statements ().empty () && block.has_expr ())
> +	rust_warning_at (block.get_locus (), OPT_Wunused,
> +			 "unnecessary braces around assigned value");
> +    }
>     walk (stmt);
>   }
>   
> diff --git a/gcc/testsuite/rust/compile/unused-braces_0.rs b/gcc/testsuite/rust/compile/unused-braces_0.rs
> new file mode 100644
> index 00000000000..d1cd3bbdf95
> --- /dev/null
> +++ b/gcc/testsuite/rust/compile/unused-braces_0.rs
> @@ -0,0 +1,8 @@
> +// { dg-additional-options "-frust-unused-check-2.0" }
> +#![feature(no_core)]
> +#![no_core]
> +
> +pub fn foo() {
> +    let _x = { 5 };
> +// { dg-warning "unnecessary braces around assigned value" "" { target *-*-* } .-1 }
> +}
OpenPGP_0x1B3465B044AD9C65.asc (application/pgp-keys, 3.1 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
7FJmBg==
=Qnyj
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEhx8wPNj7cw6CrvzGGzRlsEStnGUFAmp10u4FAwAAAAAACgkQGzRlsEStnGWr
ixAAv1/5og6A54PONpChGTzTUmNjMUbm0vz/rOKQvLAOcltyPaQPEYQeWmVtIbRc15bQhwxy6Pod
Y0C16m527sC9jOeeRzeqgDojyH7QiSJA2FOv7ENwSHWGowfXkPjvBwYlmLUgXEWx34/Db8nZ4wNX
VzDTNHrG3Y6pTZ6DnKF33+D610SR9KVgSoubY4yVzu+uxWQT+rTSvrDdLegEXyXDjSMWDbriwQyI
HhyXs7BpYX9wscEIn8NRQpC/hfjrMxbPLtvu+4GVMpwno+L6ViuortgPl4bzxtxfSQdMv0Z4BSYY
9xPhIo49cwgzeYa5gdknGusI+qJB4/ev1wKggiUMx9h4OYQ/Lf2JAtfwum7m1OGbFJZUXNiSEsgy
4iviNSPX4of1VDVnnwQYtzPXRElbimryBabPLMLwyTJ1xIEQXyrgdVoWggs0xvic7N+QoCko8AOe
tiq5LQAR3xGdxmkGbo5QhzyiTRoCnokpmG7pEM3WQZx3bMJZm5xkbB6QWER2mIFfSfUgq4u4IQSn
IeQbkDWaTOOjTxwMy5MK1cxxTAR+vqExbagUE83Sh6wpIkJfVCrVs0Y/9tDWOsSwwbAZ/8DMUTPm
OFiWmL34HWg9lPymUeg347pe+fZrx493sZq2ZTTFCr7dMAkeBIKhTkb38dCBpA8NZWiyR8o0/fj1
ayo=
=F6Be
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.