Skip to content

Commit 3f1b4b3

Browse files
author
Jacob Hughes
committed
Fix compilation & test failures
1 parent d281620 commit 3f1b4b3

File tree

3 files changed

+40
-34
lines changed

3 files changed

+40
-34
lines changed

compiler/rustc_passes/src/stability.rs

+8-2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ enum AnnotationKind {
4343
/// have separate deprecation attributes from their parents, so we do not wish to inherit
4444
/// deprecation in this case. For example, inheriting deprecation for `T` in `Foo<T>`
4545
/// would cause a duplicate warning arising from both `Foo` and `T` being deprecated.
46+
#[derive(Clone)]
4647
enum InheritDeprecation {
4748
Yes,
4849
No,
@@ -81,7 +82,7 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
8182
debug!("annotate(id = {:?}, attrs = {:?})", hir_id, attrs);
8283
let mut did_error = false;
8384
if !self.tcx.features().staged_api {
84-
did_error = self.forbid_staged_api_attrs(hir_id, attrs, inherit_deprecation);
85+
did_error = self.forbid_staged_api_attrs(hir_id, attrs, inherit_deprecation.clone());
8586
}
8687

8788
let depr =
@@ -257,7 +258,12 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
257258
}
258259

259260
// returns true if an error occurred, used to suppress some spurious errors
260-
fn forbid_staged_api_attrs(&mut self, hir_id: HirId, attrs: &[Attribute], inherit_deprecation: InheritDeprecation) -> bool {
261+
fn forbid_staged_api_attrs(
262+
&mut self,
263+
hir_id: HirId,
264+
attrs: &[Attribute],
265+
inherit_deprecation: InheritDeprecation,
266+
) -> bool {
261267
// Emit errors for non-staged-api crates.
262268
let unstable_attrs = [
263269
sym::unstable,

src/test/ui/stability-attribute/generics-default-stability.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -82,30 +82,30 @@ fn main() {
8282

8383
let _ = STRUCT4;
8484
let _: Struct4<isize> = Struct4 { field: 1 };
85-
//~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
86-
//~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
87-
//~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
85+
//~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
86+
//~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
87+
//~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
8888
let _ = STRUCT4;
89-
let _: Struct4 = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
90-
let _: Struct4<usize> = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
89+
let _: Struct4 = STRUCT4; //~ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
90+
let _: Struct4<usize> = STRUCT4; //~ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
9191
let _: Struct4<isize> = Struct4 { field: 0 };
92-
//~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
93-
//~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
94-
//~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
92+
//~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
93+
//~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
94+
//~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
9595

9696
let _ = STRUCT5;
9797
let _: Struct5<isize> = Struct5 { field: 1 }; //~ ERROR use of unstable library feature 'unstable_default'
98-
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
99-
//~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
100-
//~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
98+
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
99+
//~^^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
100+
//~^^^ use of deprecated field `unstable_generic_param::Struct5::field`: test [deprecated]
101101
let _ = STRUCT5;
102-
let _: Struct5 = STRUCT5; //~ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
102+
let _: Struct5 = STRUCT5; //~ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
103103
let _: Struct5<usize> = STRUCT5; //~ ERROR use of unstable library feature 'unstable_default'
104-
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
104+
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
105105
let _: Struct5<isize> = Struct5 { field: 0 }; //~ ERROR use of unstable library feature 'unstable_default'
106-
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
107-
//~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
108-
//~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
106+
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
107+
//~^^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
108+
//~^^^ use of deprecated field `unstable_generic_param::Struct5::field`: test [deprecated]
109109

110110
let _: Struct6<isize> = Struct6 { field: 1 }; // ok
111111
let _: Struct6<isize> = Struct6 { field: 0 }; // ok

src/test/ui/stability-attribute/generics-default-stability.stderr

+16-16
Original file line numberDiff line numberDiff line change
@@ -22,75 +22,75 @@ LL | impl Trait2<usize> for S {
2222
|
2323
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
2424

25-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
25+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
2626
--> $DIR/generics-default-stability.rs:84:29
2727
|
2828
LL | let _: Struct4<isize> = Struct4 { field: 1 };
2929
| ^^^^^^^
3030
|
3131
= note: `#[warn(deprecated)]` on by default
3232

33-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
33+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
3434
--> $DIR/generics-default-stability.rs:84:12
3535
|
3636
LL | let _: Struct4<isize> = Struct4 { field: 1 };
3737
| ^^^^^^^^^^^^^^
3838

39-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
39+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
4040
--> $DIR/generics-default-stability.rs:89:12
4141
|
4242
LL | let _: Struct4 = STRUCT4;
4343
| ^^^^^^^
4444

45-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
45+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
4646
--> $DIR/generics-default-stability.rs:90:12
4747
|
4848
LL | let _: Struct4<usize> = STRUCT4;
4949
| ^^^^^^^^^^^^^^
5050

51-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
51+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
5252
--> $DIR/generics-default-stability.rs:91:29
5353
|
5454
LL | let _: Struct4<isize> = Struct4 { field: 0 };
5555
| ^^^^^^^
5656

57-
warning: use of deprecated item 'unstable_generic_param::Struct4': test
57+
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
5858
--> $DIR/generics-default-stability.rs:91:12
5959
|
6060
LL | let _: Struct4<isize> = Struct4 { field: 0 };
6161
| ^^^^^^^^^^^^^^
6262

63-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
63+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
6464
--> $DIR/generics-default-stability.rs:97:29
6565
|
6666
LL | let _: Struct5<isize> = Struct5 { field: 1 };
6767
| ^^^^^^^
6868

69-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
69+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
7070
--> $DIR/generics-default-stability.rs:97:12
7171
|
7272
LL | let _: Struct5<isize> = Struct5 { field: 1 };
7373
| ^^^^^^^^^^^^^^
7474

75-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
75+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
7676
--> $DIR/generics-default-stability.rs:102:12
7777
|
7878
LL | let _: Struct5 = STRUCT5;
7979
| ^^^^^^^
8080

81-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
81+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
8282
--> $DIR/generics-default-stability.rs:103:12
8383
|
8484
LL | let _: Struct5<usize> = STRUCT5;
8585
| ^^^^^^^^^^^^^^
8686

87-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
87+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
8888
--> $DIR/generics-default-stability.rs:105:29
8989
|
9090
LL | let _: Struct5<isize> = Struct5 { field: 0 };
9191
| ^^^^^^^
9292

93-
warning: use of deprecated item 'unstable_generic_param::Struct5': test
93+
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
9494
--> $DIR/generics-default-stability.rs:105:12
9595
|
9696
LL | let _: Struct5<isize> = Struct5 { field: 0 };
@@ -176,25 +176,25 @@ LL | let _: Box1<isize, System> = Box1::new(1);
176176
|
177177
= help: add `#![feature(box_alloc_param)]` to the crate attributes to enable
178178

179-
warning: use of deprecated item 'unstable_generic_param::Struct4::field': test
179+
warning: use of deprecated field `unstable_generic_param::Struct4::field`: test
180180
--> $DIR/generics-default-stability.rs:84:39
181181
|
182182
LL | let _: Struct4<isize> = Struct4 { field: 1 };
183183
| ^^^^^^^^
184184

185-
warning: use of deprecated item 'unstable_generic_param::Struct4::field': test
185+
warning: use of deprecated field `unstable_generic_param::Struct4::field`: test
186186
--> $DIR/generics-default-stability.rs:91:39
187187
|
188188
LL | let _: Struct4<isize> = Struct4 { field: 0 };
189189
| ^^^^^^^^
190190

191-
warning: use of deprecated item 'unstable_generic_param::Struct5::field': test
191+
warning: use of deprecated field `unstable_generic_param::Struct5::field`: test
192192
--> $DIR/generics-default-stability.rs:97:39
193193
|
194194
LL | let _: Struct5<isize> = Struct5 { field: 1 };
195195
| ^^^^^^^^
196196

197-
warning: use of deprecated item 'unstable_generic_param::Struct5::field': test
197+
warning: use of deprecated field `unstable_generic_param::Struct5::field`: test
198198
--> $DIR/generics-default-stability.rs:105:39
199199
|
200200
LL | let _: Struct5<isize> = Struct5 { field: 0 };

0 commit comments

Comments
 (0)