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.