forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#59525 - pnkfelix:whitelist-some-rustc-attrs…
…, r=petrochenkov Whitelist some rustc attrs These rustc attrs are used within libcore, and were causing failures when one mixed incremental compilation with bootstrapping (due to a default of `-D warnings` when bootstrapping). Fix rust-lang#59523 Fix rust-lang#59524 Cc rust-lang#58633
- Loading branch information
Showing
3 changed files
with
61 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
27 changes: 27 additions & 0 deletions
27
src/test/incremental/issue-59523-on-implemented-is-not-unused.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// We should not see the unused_attributes lint fire for | ||
// rustc_on_unimplemented, but with this bug we are seeing it fire (on | ||
// subsequent runs) if incremental compilation is enabled. | ||
|
||
// revisions: rpass1 rpass2 | ||
// compile-pass | ||
|
||
#![feature(on_unimplemented)] | ||
#![deny(unused_attributes)] | ||
|
||
#[rustc_on_unimplemented = "invalid"] | ||
trait Index<Idx: ?Sized> { | ||
type Output: ?Sized; | ||
fn index(&self, index: Idx) -> &Self::Output; | ||
} | ||
|
||
#[rustc_on_unimplemented = "a usize is required to index into a slice"] | ||
impl Index<usize> for [i32] { | ||
type Output = i32; | ||
fn index(&self, index: usize) -> &i32 { | ||
&self[index] | ||
} | ||
} | ||
|
||
fn main() { | ||
Index::<usize>::index(&[1, 2, 3] as &[i32], 2); | ||
} |
19 changes: 19 additions & 0 deletions
19
src/test/incremental/issue-59524-layout-scalar-valid-range-is-not-unused.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// We should not see the unused_attributes lint fire for | ||
// rustc_layout_scalar_valid_range_start, but with this bug we are | ||
// seeing it fire (on subsequent runs) if incremental compilation is | ||
// enabled. | ||
|
||
// revisions: rpass1 rpass2 | ||
// compile-pass | ||
|
||
#![feature(rustc_attrs)] | ||
#![deny(unused_attributes)] | ||
|
||
#[rustc_layout_scalar_valid_range_start(10)] | ||
#[rustc_layout_scalar_valid_range_end(30)] | ||
struct RestrictedRange(u32); | ||
const OKAY_RANGE: RestrictedRange = unsafe { RestrictedRange(20) }; | ||
|
||
fn main() { | ||
OKAY_RANGE.0; | ||
} |