Fix compilation & test failures
This commit is contained in:
parent
d281620d8f
commit
3f1b4b39e3
3 changed files with 40 additions and 34 deletions
|
@ -43,6 +43,7 @@ enum AnnotationKind {
|
||||||
/// have separate deprecation attributes from their parents, so we do not wish to inherit
|
/// have separate deprecation attributes from their parents, so we do not wish to inherit
|
||||||
/// deprecation in this case. For example, inheriting deprecation for `T` in `Foo<T>`
|
/// deprecation in this case. For example, inheriting deprecation for `T` in `Foo<T>`
|
||||||
/// would cause a duplicate warning arising from both `Foo` and `T` being deprecated.
|
/// would cause a duplicate warning arising from both `Foo` and `T` being deprecated.
|
||||||
|
#[derive(Clone)]
|
||||||
enum InheritDeprecation {
|
enum InheritDeprecation {
|
||||||
Yes,
|
Yes,
|
||||||
No,
|
No,
|
||||||
|
@ -81,7 +82,7 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
|
||||||
debug!("annotate(id = {:?}, attrs = {:?})", hir_id, attrs);
|
debug!("annotate(id = {:?}, attrs = {:?})", hir_id, attrs);
|
||||||
let mut did_error = false;
|
let mut did_error = false;
|
||||||
if !self.tcx.features().staged_api {
|
if !self.tcx.features().staged_api {
|
||||||
did_error = self.forbid_staged_api_attrs(hir_id, attrs, inherit_deprecation);
|
did_error = self.forbid_staged_api_attrs(hir_id, attrs, inherit_deprecation.clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
let depr =
|
let depr =
|
||||||
|
@ -257,7 +258,12 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if an error occurred, used to suppress some spurious errors
|
// returns true if an error occurred, used to suppress some spurious errors
|
||||||
fn forbid_staged_api_attrs(&mut self, hir_id: HirId, attrs: &[Attribute], inherit_deprecation: InheritDeprecation) -> bool {
|
fn forbid_staged_api_attrs(
|
||||||
|
&mut self,
|
||||||
|
hir_id: HirId,
|
||||||
|
attrs: &[Attribute],
|
||||||
|
inherit_deprecation: InheritDeprecation,
|
||||||
|
) -> bool {
|
||||||
// Emit errors for non-staged-api crates.
|
// Emit errors for non-staged-api crates.
|
||||||
let unstable_attrs = [
|
let unstable_attrs = [
|
||||||
sym::unstable,
|
sym::unstable,
|
||||||
|
|
|
@ -82,30 +82,30 @@ fn main() {
|
||||||
|
|
||||||
let _ = STRUCT4;
|
let _ = STRUCT4;
|
||||||
let _: Struct4<isize> = Struct4 { field: 1 };
|
let _: Struct4<isize> = Struct4 { field: 1 };
|
||||||
//~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
//~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
//~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
//~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
//~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
|
//~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
|
||||||
let _ = STRUCT4;
|
let _ = STRUCT4;
|
||||||
let _: Struct4 = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
let _: Struct4 = STRUCT4; //~ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
let _: Struct4<usize> = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
let _: Struct4<usize> = STRUCT4; //~ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
let _: Struct4<isize> = Struct4 { field: 0 };
|
let _: Struct4<isize> = Struct4 { field: 0 };
|
||||||
//~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
//~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
//~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
|
//~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
|
||||||
//~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
|
//~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
|
||||||
|
|
||||||
let _ = STRUCT5;
|
let _ = STRUCT5;
|
||||||
let _: Struct5<isize> = Struct5 { field: 1 }; //~ ERROR use of unstable library feature 'unstable_default'
|
let _: Struct5<isize> = Struct5 { field: 1 }; //~ ERROR use of unstable library feature 'unstable_default'
|
||||||
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
//~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
//~^^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
//~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
|
//~^^^ use of deprecated field `unstable_generic_param::Struct5::field`: test [deprecated]
|
||||||
let _ = STRUCT5;
|
let _ = STRUCT5;
|
||||||
let _: Struct5 = STRUCT5; //~ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
let _: Struct5 = STRUCT5; //~ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
let _: Struct5<usize> = STRUCT5; //~ ERROR use of unstable library feature 'unstable_default'
|
let _: Struct5<usize> = STRUCT5; //~ ERROR use of unstable library feature 'unstable_default'
|
||||||
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
let _: Struct5<isize> = Struct5 { field: 0 }; //~ ERROR use of unstable library feature 'unstable_default'
|
let _: Struct5<isize> = Struct5 { field: 0 }; //~ ERROR use of unstable library feature 'unstable_default'
|
||||||
//~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
//~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
//~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
|
//~^^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
|
||||||
//~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
|
//~^^^ use of deprecated field `unstable_generic_param::Struct5::field`: test [deprecated]
|
||||||
|
|
||||||
let _: Struct6<isize> = Struct6 { field: 1 }; // ok
|
let _: Struct6<isize> = Struct6 { field: 1 }; // ok
|
||||||
let _: Struct6<isize> = Struct6 { field: 0 }; // ok
|
let _: Struct6<isize> = Struct6 { field: 0 }; // ok
|
||||||
|
|
|
@ -22,7 +22,7 @@ LL | impl Trait2<usize> for S {
|
||||||
|
|
|
|
||||||
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
|
= help: add `#![feature(unstable_default)]` to the crate attributes to enable
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:84:29
|
--> $DIR/generics-default-stability.rs:84:29
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
||||||
|
@ -30,67 +30,67 @@ LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
||||||
|
|
|
|
||||||
= note: `#[warn(deprecated)]` on by default
|
= note: `#[warn(deprecated)]` on by default
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:84:12
|
--> $DIR/generics-default-stability.rs:84:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:89:12
|
--> $DIR/generics-default-stability.rs:89:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct4 = STRUCT4;
|
LL | let _: Struct4 = STRUCT4;
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:90:12
|
--> $DIR/generics-default-stability.rs:90:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<usize> = STRUCT4;
|
LL | let _: Struct4<usize> = STRUCT4;
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:91:29
|
--> $DIR/generics-default-stability.rs:91:29
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4': test
|
warning: use of deprecated struct `unstable_generic_param::Struct4`: test
|
||||||
--> $DIR/generics-default-stability.rs:91:12
|
--> $DIR/generics-default-stability.rs:91:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:97:29
|
--> $DIR/generics-default-stability.rs:97:29
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:97:12
|
--> $DIR/generics-default-stability.rs:97:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:102:12
|
--> $DIR/generics-default-stability.rs:102:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct5 = STRUCT5;
|
LL | let _: Struct5 = STRUCT5;
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:103:12
|
--> $DIR/generics-default-stability.rs:103:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<usize> = STRUCT5;
|
LL | let _: Struct5<usize> = STRUCT5;
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:105:29
|
--> $DIR/generics-default-stability.rs:105:29
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5': test
|
warning: use of deprecated struct `unstable_generic_param::Struct5`: test
|
||||||
--> $DIR/generics-default-stability.rs:105:12
|
--> $DIR/generics-default-stability.rs:105:12
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
||||||
|
@ -176,25 +176,25 @@ LL | let _: Box1<isize, System> = Box1::new(1);
|
||||||
|
|
|
|
||||||
= help: add `#![feature(box_alloc_param)]` to the crate attributes to enable
|
= help: add `#![feature(box_alloc_param)]` to the crate attributes to enable
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4::field': test
|
warning: use of deprecated field `unstable_generic_param::Struct4::field`: test
|
||||||
--> $DIR/generics-default-stability.rs:84:39
|
--> $DIR/generics-default-stability.rs:84:39
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
LL | let _: Struct4<isize> = Struct4 { field: 1 };
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct4::field': test
|
warning: use of deprecated field `unstable_generic_param::Struct4::field`: test
|
||||||
--> $DIR/generics-default-stability.rs:91:39
|
--> $DIR/generics-default-stability.rs:91:39
|
||||||
|
|
|
|
||||||
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
LL | let _: Struct4<isize> = Struct4 { field: 0 };
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5::field': test
|
warning: use of deprecated field `unstable_generic_param::Struct5::field`: test
|
||||||
--> $DIR/generics-default-stability.rs:97:39
|
--> $DIR/generics-default-stability.rs:97:39
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
LL | let _: Struct5<isize> = Struct5 { field: 1 };
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
warning: use of deprecated item 'unstable_generic_param::Struct5::field': test
|
warning: use of deprecated field `unstable_generic_param::Struct5::field`: test
|
||||||
--> $DIR/generics-default-stability.rs:105:39
|
--> $DIR/generics-default-stability.rs:105:39
|
||||||
|
|
|
|
||||||
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
LL | let _: Struct5<isize> = Struct5 { field: 0 };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue