Skip to content

Commit ff75c01

Browse files
author
Ariel Ben-Yehuda
authored
Rollup merge of rust-lang#44122 - zackmdavis:booleans_were_not_unused_results, r=eddyb
un-regress behavior of `unused_results` lint for booleans Resolves rust-lang#44119.
2 parents f33803d + cc5ea04 commit ff75c01

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/librustc_lint/unused.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,14 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnusedResults {
182182
}
183183

184184
if !(ty_warned || fn_warned) {
185-
cx.span_lint(UNUSED_RESULTS, s.span, "unused result");
185+
match t.sty {
186+
// Historically, booleans have not been considered unused
187+
// results. (See Issue #44119.)
188+
ty::TyBool => return,
189+
_ => {
190+
cx.span_lint(UNUSED_RESULTS, s.span, "unused result");
191+
}
192+
}
186193
}
187194

188195
fn check_must_use(cx: &LateContext, def_id: DefId, sp: Span, describe_path: &str) -> bool {

src/test/compile-fail/unused-result.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ fn main() {
4242
foo::<MustUse>(); //~ ERROR: unused `MustUse` which must be used
4343
foo::<MustUseMsg>(); //~ ERROR: unused `MustUseMsg` which must be used: some message
4444

45+
// as an exceptional case, booleans are not considered unused
46+
foo::<bool>();
47+
4548
let _ = foo::<isize>();
4649
let _ = foo::<MustUse>();
4750
let _ = foo::<MustUseMsg>();

0 commit comments

Comments
 (0)