Error code E0549
A deprecated
attribute wasn't paired with a stable
/unstable
attribute with
#![feature(staged_api)]
enabled.
Erroneous code example:
#![allow(unused)] #![feature(staged_api)] #![allow(internal_features)] #![stable(since = "1.0.0", feature = "test")] fn main() { #[deprecated( since = "1.0.1", note = "explanation for deprecation" )] // invalid fn _deprecated_fn() {} }
To fix this issue, you need to add also an attribute stable
or unstable
.
Example:
#![allow(unused)] #![feature(staged_api)] #![allow(internal_features)] #![stable(since = "1.0.0", feature = "test")] fn main() { #[stable(since = "1.0.0", feature = "test")] #[deprecated( since = "1.0.1", note = "explanation for deprecation" )] // ok! fn _deprecated_fn() {} }
See the How Rust is Made and “Nightly Rust” appendix of the Book and the Stability attributes section of the Rustc Dev Guide for more details.