#[attr = MacroUse {arguments: UseAll}] extern crate std; #[prelude_import] use ::std::prelude::rust_2015::*; //@ compile-flags: -Zunpretty=hir //@ check-pass //@ edition: 2015 #[attr = Deprecation {deprecation: Deprecation {since: Unspecified}}] struct PlainDeprecated; #[attr = Deprecation {deprecation: Deprecation {since: Unspecified, note: "here's why this is deprecated"}}] struct DirectNote; #[attr = Deprecation {deprecation: Deprecation {since: Unspecified, note: "here's why this is deprecated"}}] struct ExplicitNote; #[attr = Deprecation {deprecation: Deprecation {since: NonStandard("1.2.3"), note: "here's why this is deprecated"}}] struct SinceAndNote; #[attr = Deprecation {deprecation: Deprecation {since: NonStandard("1.2.3"), note: "here's why this is deprecated"}}] struct FlippedOrder; fn f() { // Attribute is ignored here (with a warning), but still preserved in HIR #[attr = Deprecation {deprecation: Deprecation {since: Unspecified}}] 0 }