about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2020-11-01 13:09:03 +0100
committerMara Bos <m-ou.se@m-ou.se>2020-11-01 20:48:58 +0100
commit9fc991a0ea1df0a5ef96c50fb8dce115c096d8f5 (patch)
treed3068c77d5918a167ec8a4e94910030a978ea8bb
parent6f1992a7d60152cd962feb907bfdc03290d9f8a4 (diff)
downloadrust-9fc991a0ea1df0a5ef96c50fb8dce115c096d8f5.tar.gz
rust-9fc991a0ea1df0a5ef96c50fb8dce115c096d8f5.zip
Add test for #[deprecated] attribute on trait impl block.
-rw-r--r--src/test/ui/deprecation/deprecation-sanity.rs9
-rw-r--r--src/test/ui/deprecation/deprecation-sanity.stderr10
2 files changed, 18 insertions, 1 deletions
diff --git a/src/test/ui/deprecation/deprecation-sanity.rs b/src/test/ui/deprecation/deprecation-sanity.rs
index 4cbcec9b1d8..5fb3f819589 100644
--- a/src/test/ui/deprecation/deprecation-sanity.rs
+++ b/src/test/ui/deprecation/deprecation-sanity.rs
@@ -30,4 +30,13 @@ fn multiple1() { }
 #[deprecated(since = "a", since = "b", note = "c")] //~ ERROR multiple 'since' items
 fn f1() { }
 
+struct X;
+
+#[deprecated = "hello"] //~ ERROR this `#[deprecated]' annotation has no effect
+impl Default for X {
+    fn default() -> Self {
+        X
+    }
+}
+
 fn main() { }
diff --git a/src/test/ui/deprecation/deprecation-sanity.stderr b/src/test/ui/deprecation/deprecation-sanity.stderr
index 4f70c55a957..b926a6dc09d 100644
--- a/src/test/ui/deprecation/deprecation-sanity.stderr
+++ b/src/test/ui/deprecation/deprecation-sanity.stderr
@@ -58,7 +58,15 @@ error[E0538]: multiple 'since' items
 LL | #[deprecated(since = "a", since = "b", note = "c")]
    |                           ^^^^^^^^^^^
 
-error: aborting due to 9 previous errors
+error: this `#[deprecated]' annotation has no effect
+  --> $DIR/deprecation-sanity.rs:35:1
+   |
+LL | #[deprecated = "hello"]
+   | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the deprecation attribute
+   |
+   = note: `#[deny(useless_deprecated)]` on by default
+
+error: aborting due to 10 previous errors
 
 Some errors have detailed explanations: E0538, E0541, E0550, E0551, E0565.
 For more information about an error, try `rustc --explain E0538`.