Skip to content

Commit 4b61585

Browse files
committed
Auto merge of #31120 - alexcrichton:attribute-deny-warnings, r=brson
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2 parents a9e139b + cb343c3 commit 4b61585

File tree

60 files changed

+188
-161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+188
-161
lines changed

mk/target.mk

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,6 @@ export CFG_COMPILER_HOST_TRIPLE
1717
export CFG_DEFAULT_LINKER
1818
export CFG_DEFAULT_AR
1919

20-
# The standard libraries should be held up to a higher standard than any old
21-
# code, make sure that these common warnings are denied by default. These can
22-
# be overridden during development temporarily. For stage0, we allow warnings
23-
# which may be bugs in stage0 (should be fixed in stage1+)
24-
RUST_LIB_FLAGS_ST0 += -W warnings
25-
RUST_LIB_FLAGS_ST1 += -D warnings
26-
RUST_LIB_FLAGS_ST2 += -D warnings
27-
2820
# Macro that generates the full list of dependencies for a crate at a particular
2921
# stage/target/host tuple.
3022
#

src/liballoc/boxed_test.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use core::ops::Deref;
1515
use core::result::Result::{Ok, Err};
1616
use core::clone::Clone;
1717

18-
use std::boxed;
1918
use std::boxed::Box;
2019

2120
#[test]

src/liballoc/lib.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,35 +70,33 @@
7070
test(no_crate_inject, attr(allow(unused_variables), deny(warnings))))]
7171
#![no_std]
7272
#![needs_allocator]
73+
#![cfg_attr(not(stage0), deny(warnings))]
7374

7475
#![feature(allocator)]
7576
#![feature(box_syntax)]
7677
#![feature(coerce_unsized)]
78+
#![feature(const_fn)]
7779
#![feature(core_intrinsics)]
7880
#![feature(custom_attribute)]
81+
#![feature(drop_in_place)]
82+
#![feature(dropck_parametricity)]
7983
#![feature(fundamental)]
8084
#![feature(lang_items)]
85+
#![feature(needs_allocator)]
8186
#![feature(optin_builtin_traits)]
8287
#![feature(placement_in_syntax)]
83-
#![feature(placement_new_protocol)]
84-
#![feature(raw)]
8588
#![feature(shared)]
8689
#![feature(staged_api)]
8790
#![feature(unboxed_closures)]
8891
#![feature(unique)]
8992
#![feature(unsafe_no_drop_flag, filling_drop)]
90-
#![feature(dropck_parametricity)]
9193
#![feature(unsize)]
92-
#![feature(drop_in_place)]
93-
#![feature(fn_traits)]
94-
#![feature(const_fn)]
95-
96-
#![feature(needs_allocator)]
9794

9895
// Issue# 30592: Systematically use alloc_system during stage0 since jemalloc
9996
// might be unavailable or disabled
10097
#![cfg_attr(stage0, feature(alloc_system))]
10198

99+
#![cfg_attr(not(test), feature(raw, fn_traits, placement_new_protocol))]
102100
#![cfg_attr(test, feature(test, rustc_private, box_heap))]
103101

104102
#[cfg(stage0)]

src/liballoc_jemalloc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
reason = "this library is unlikely to be stabilized in its current \
1717
form or name",
1818
issue = "27783")]
19+
#![cfg_attr(not(stage0), deny(warnings))]
1920
#![feature(allocator)]
2021
#![feature(libc)]
2122
#![feature(staged_api)]

src/liballoc_system/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#![crate_type = "rlib"]
1313
#![no_std]
1414
#![allocator]
15+
#![cfg_attr(not(stage0), deny(warnings))]
1516
#![unstable(feature = "alloc_system",
1617
reason = "this library is unlikely to be stabilized in its current \
1718
form or name",

src/libarena/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
2828
html_root_url = "https://doc.rust-lang.org/nightly/",
2929
test(no_crate_inject, attr(deny(warnings))))]
30+
#![cfg_attr(not(stage0), deny(warnings))]
3031

3132
#![feature(alloc)]
3233
#![feature(core_intrinsics)]

src/libcollections/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#![allow(trivial_casts)]
3030
#![cfg_attr(test, allow(deprecated))] // rand
31+
#![cfg_attr(not(stage0), deny(warnings))]
3132

3233
#![feature(alloc)]
3334
#![feature(box_patterns)]
@@ -55,7 +56,7 @@
5556
#![feature(unicode)]
5657
#![feature(unique)]
5758
#![feature(unsafe_no_drop_flag)]
58-
#![cfg_attr(test, feature(clone_from_slice, rand, test))]
59+
#![cfg_attr(test, feature(rand, test))]
5960

6061
#![no_std]
6162

src/libcollections/slice.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -83,20 +83,14 @@
8383

8484
// Many of the usings in this module are only used in the test configuration.
8585
// It's cleaner to just turn off the unused_imports warning than to fix them.
86-
#![allow(unused_imports)]
86+
#![cfg_attr(test, allow(unused_imports, dead_code))]
8787

8888
use alloc::boxed::Box;
89-
use core::clone::Clone;
9089
use core::cmp::Ordering::{self, Greater, Less};
91-
use core::cmp::{self, Ord, PartialEq};
92-
use core::iter::Iterator;
93-
use core::marker::Sized;
90+
use core::cmp;
9491
use core::mem::size_of;
9592
use core::mem;
96-
use core::ops::FnMut;
97-
use core::option::Option::{self, Some, None};
9893
use core::ptr;
99-
use core::result::Result;
10094
use core::slice as core_slice;
10195

10296
use borrow::{Borrow, BorrowMut, ToOwned};
@@ -136,12 +130,7 @@ pub use self::hack::to_vec;
136130
// `test_permutations` test
137131
mod hack {
138132
use alloc::boxed::Box;
139-
use core::clone::Clone;
140-
#[cfg(test)]
141-
use core::iter::Iterator;
142133
use core::mem;
143-
#[cfg(test)]
144-
use core::option::Option::{Some, None};
145134

146135
#[cfg(test)]
147136
use string::ToString;

src/libcollections/str.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
// It's cleaner to just turn off the unused_imports warning than to fix them.
2020
#![allow(unused_imports)]
2121

22-
use core::clone::Clone;
23-
use core::iter::{Iterator, Extend};
24-
use core::option::Option::{self, Some, None};
25-
use core::result::Result;
2622
use core::str as core_str;
2723
use core::str::pattern::Pattern;
2824
use core::str::pattern::{Searcher, ReverseSearcher, DoubleEndedSearcher};

src/libcollectionstest/slice.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
// except according to those terms.
1010

1111
use std::cmp::Ordering::{Equal, Greater, Less};
12-
use std::default::Default;
1312
use std::mem;
1413
use std::__rand::{Rng, thread_rng};
1514
use std::rc::Rc;

0 commit comments

Comments
 (0)