about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJacob Hughes <j@jacobhughes.me>2020-09-22 22:54:52 -0400
committerJacob Hughes <j@jacobhughes.me>2020-09-22 22:54:52 -0400
commit3f1b4b39e3dbff49d3298af1acaa526310b255a7 (patch)
tree987d271bcec26db1ff27b0ca0c1c2db9821f8ce5
parentd281620d8f630346ea96c8c65b9fd7f5b7f1da9e (diff)
downloadrust-3f1b4b39e3dbff49d3298af1acaa526310b255a7.tar.gz
rust-3f1b4b39e3dbff49d3298af1acaa526310b255a7.zip
Fix compilation & test failures
-rw-r--r--compiler/rustc_passes/src/stability.rs10
-rw-r--r--src/test/ui/stability-attribute/generics-default-stability.rs32
-rw-r--r--src/test/ui/stability-attribute/generics-default-stability.stderr32
3 files changed, 40 insertions, 34 deletions
diff --git a/compiler/rustc_passes/src/stability.rs b/compiler/rustc_passes/src/stability.rs
index 5b0df9e884f..b807dff5fd2 100644
--- a/compiler/rustc_passes/src/stability.rs
+++ b/compiler/rustc_passes/src/stability.rs
@@ -43,6 +43,7 @@ enum AnnotationKind {
 /// 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>`
 /// would cause a duplicate warning arising from both `Foo` and `T` being deprecated.
+#[derive(Clone)]
 enum InheritDeprecation {
     Yes,
     No,
@@ -81,7 +82,7 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
         debug!("annotate(id = {:?}, attrs = {:?})", hir_id, attrs);
         let mut did_error = false;
         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 =
@@ -257,7 +258,12 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
     }
 
     // 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.
         let unstable_attrs = [
             sym::unstable,
diff --git a/src/test/ui/stability-attribute/generics-default-stability.rs b/src/test/ui/stability-attribute/generics-default-stability.rs
index b68336da1a5..461b1d405cb 100644
--- a/src/test/ui/stability-attribute/generics-default-stability.rs
+++ b/src/test/ui/stability-attribute/generics-default-stability.rs
@@ -82,30 +82,30 @@ fn main() {
 
     let _ = STRUCT4;
     let _: Struct4<isize> = Struct4 { field: 1 };
-    //~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
-    //~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
-    //~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
+    //~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
+    //~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
+    //~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
     let _ = STRUCT4;
-    let _: Struct4 = STRUCT4; //~ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
-    let _: Struct4<usize> = 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 struct `unstable_generic_param::Struct4`: test [deprecated]
     let _: Struct4<isize> = Struct4 { field: 0 };
-    //~^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
-    //~^^ use of deprecated item 'unstable_generic_param::Struct4': test [deprecated]
-    //~^^^ use of deprecated item 'unstable_generic_param::Struct4::field': test [deprecated]
+    //~^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
+    //~^^ use of deprecated struct `unstable_generic_param::Struct4`: test [deprecated]
+    //~^^^ use of deprecated field `unstable_generic_param::Struct4::field`: test [deprecated]
 
     let _ = STRUCT5;
     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 item 'unstable_generic_param::Struct5': test [deprecated]
-    //~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
+    //~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
+    //~^^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
+    //~^^^ use of deprecated field `unstable_generic_param::Struct5::field`: test [deprecated]
     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'
-    //~^ 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'
-    //~^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
-    //~^^ use of deprecated item 'unstable_generic_param::Struct5': test [deprecated]
-    //~^^^ use of deprecated item 'unstable_generic_param::Struct5::field': test [deprecated]
+    //~^ use of deprecated struct `unstable_generic_param::Struct5`: test [deprecated]
+    //~^^ use of deprecated struct `unstable_generic_param::Struct5`: 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: 0 }; // ok
diff --git a/src/test/ui/stability-attribute/generics-default-stability.stderr b/src/test/ui/stability-attribute/generics-default-stability.stderr
index 37a809f8bca..d9b238f8841 100644
--- a/src/test/ui/stability-attribute/generics-default-stability.stderr
+++ b/src/test/ui/stability-attribute/generics-default-stability.stderr
@@ -22,7 +22,7 @@ LL | impl Trait2<usize> for S {
    |
    = 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
    |
 LL |     let _: Struct4<isize> = Struct4 { field: 1 };
@@ -30,67 +30,67 @@ LL |     let _: Struct4<isize> = Struct4 { field: 1 };
    |
    = 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
    |
 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
 
-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
    |
 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
    |
 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
    |
 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
    |
 LL |     let _: Struct5<isize> = Struct5 { field: 0 };