diff options
Diffstat (limited to 'tests/ui/deprecation/deprecation-sanity.rs')
-rw-r--r-- | tests/ui/deprecation/deprecation-sanity.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/ui/deprecation/deprecation-sanity.rs b/tests/ui/deprecation/deprecation-sanity.rs new file mode 100644 index 000000000..9ea75b68f --- /dev/null +++ b/tests/ui/deprecation/deprecation-sanity.rs @@ -0,0 +1,42 @@ +// Various checks that deprecation attributes are used correctly + +mod bogus_attribute_types_1 { + #[deprecated(since = "a", note = "a", reason)] //~ ERROR unknown meta item 'reason' + fn f1() { } + + #[deprecated(since = "a", note)] //~ ERROR incorrect meta item + fn f2() { } + + #[deprecated(since, note = "a")] //~ ERROR incorrect meta item + fn f3() { } + + #[deprecated(since = "a", note(b))] //~ ERROR incorrect meta item + fn f5() { } + + #[deprecated(since(b), note = "a")] //~ ERROR incorrect meta item + fn f6() { } + + #[deprecated(note = b"test")] //~ ERROR literal in `deprecated` value must be a string + fn f7() { } + + #[deprecated("test")] //~ ERROR item in `deprecated` must be a key/value pair + fn f8() { } +} + +#[deprecated(since = "a", note = "b")] +#[deprecated(since = "a", note = "b")] //~ ERROR multiple `deprecated` attributes +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() { } |