diff options
| author | bors <bors@rust-lang.org> | 2017-09-21 09:41:26 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-21 09:41:26 +0000 |
| commit | 35edf7d8cbd49aa4ea516c6b60615927a722dfd6 (patch) | |
| tree | 278fa197c9326159eaed1cba20e38fd10c0ed82f /src/test | |
| parent | e2504cfc7615b9247d4546672e31a9803f4b88ba (diff) | |
| parent | d02ceacb25d851a0dce67a3120f247558493c6ad (diff) | |
Auto merge of #44627 - zackmdavis:the_capgate_perogative, r=nrc
`--cap-lints allow` switches off `can_emit_warnings` This boolean field on the error `Handler` is toggled to silence warnings when `-A warnings` is passed. (This is actually a separate mechanism from the global lint level—whether there's some redundancy to be factored away here is an important question, but not one we concern ourselves with in this commit.) But the same rationale applies for `--cap-lints allow`. In particular, this makes the "soft" feature-gate warning introduced in 8492ad24 (which is not a lint, but just calls `struct_span_warn`) not pollute the builds of dependent crates. Thanks to @kennytm for pointing out the potential of `can_emit_warnings` for this purpose. Resolves #44213.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/feature-gate-fn_must_use-cap-lints-allow.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/compile-fail/feature-gate-fn_must_use-cap-lints-allow.rs b/src/test/compile-fail/feature-gate-fn_must_use-cap-lints-allow.rs new file mode 100644 index 00000000000..1c04199c05f --- /dev/null +++ b/src/test/compile-fail/feature-gate-fn_must_use-cap-lints-allow.rs @@ -0,0 +1,22 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags: --cap-lints allow + +// This tests that the fn_must_use feature-gate warning respects the lint +// cap. (See discussion in Issue #44213.) + +#![feature(rustc_attrs)] + +#[must_use] // (no feature-gate warning because of the lint cap!) +fn need_to_use_it() -> bool { true } + +#[rustc_error] +fn main() {} //~ ERROR compilation successful |
