Closed l4l closed 5 days ago
Assist apply_demorgan for a && !(a && b) pointed at second operation produces a && !a || !b which is incorrect because the precedence of || is missed. Or more formally as a test:
a && !(a && b)
a && !a || !b
||
#[test] fn demorgan_keep_pars_for_op_precedence1() { check_assist( apply_demorgan, "fn f() { (a && !(b &&$0 c); }", "fn f() { (a && (!b || !c); }", ); }
Related #15239.
rust-analyzer version: rust-analyzer 1.76.0 (07dca48 2024-02-04)
rustc version: rustc 1.76.0 (07dca489a 2024-02-04)
editor or extension: helix
@rustbot claim
Assist apply_demorgan for
a && !(a && b)
pointed at second operation producesa && !a || !b
which is incorrect because the precedence of||
is missed. Or more formally as a test:Related #15239.
rust-analyzer version: rust-analyzer 1.76.0 (07dca48 2024-02-04)
rustc version: rustc 1.76.0 (07dca489a 2024-02-04)
editor or extension: helix