Compiling notify-rust v3.0.3 (file:///home/hendrik/code/rust/notify-rust)
Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1245), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 2, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }
Item { ident: std#0, attrs: [Spanned { node: Attribute_ { id: AttrId(257), style: Outer, value: Spanned { node: MetaWord("macro_use"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }], id: 3, node: ItemExternCrate(Some(std(120))), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 4, node: ItemUse(Spanned { node: ViewPathSimple(env#0, path(std::env)), span: Span { lo: BytePos(2568), hi: BytePos(2576), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(2564), hi: BytePos(2577), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 5, node: ItemUse(Spanned { node: ViewPathSimple(HashSet#0, path(std::collections::HashSet)), span: Span { lo: BytePos(2582), hi: BytePos(2607), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(2578), hi: BytePos(2608), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 6, node: ItemUse(Spanned { node: ViewPathSimple(Cow#0, path(std::borrow::Cow)), span: Span { lo: BytePos(2613), hi: BytePos(2629), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(2609), hi: BytePos(2630), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 7, node: ItemUse(Spanned { node: ViewPathList(path(std::ops), [Spanned { node: PathListIdent { name: Deref#0, rename: None, id: 8 }, span: Span { lo: BytePos(2646), hi: BytePos(2651), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: DerefMut#0, rename: None, id: 9 }, span: Span { lo: BytePos(2652), hi: BytePos(2660), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(2635), hi: BytePos(2662), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(2631), hi: BytePos(2662), expn_id: ExpnId(4294967295) } }
Item { ident: dbus#0, attrs: [], id: 10, node: ItemExternCrate(None), vis: Inherited, span: Span { lo: BytePos(2664), hi: BytePos(2682), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 11, node: ItemUse(Spanned { node: ViewPathList(path(dbus), [Spanned { node: PathListIdent { name: Connection#0, rename: None, id: 12 }, span: Span { lo: BytePos(2694), hi: BytePos(2704), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: ConnectionItem#0, rename: None, id: 13 }, span: Span { lo: BytePos(2706), hi: BytePos(2720), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: BusType#0, rename: None, id: 14 }, span: Span { lo: BytePos(2722), hi: BytePos(2729), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Message#0, rename: None, id: 15 }, span: Span { lo: BytePos(2731), hi: BytePos(2738), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: MessageItem#0, rename: None, id: 16 }, span: Span { lo: BytePos(2740), hi: BytePos(2751), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Error#0, rename: None, id: 17 }, span: Span { lo: BytePos(2753), hi: BytePos(2758), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(2687), hi: BytePos(2760), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(2683), hi: BytePos(2760), expn_id: ExpnId(4294967295) } }
Item { ident: util#0,
attrs: [],
id: 18,
node: ItemMod(Mod { inner: Span { lo: BytePos(19535), hi: BytePos(20703), expn_id: ExpnId(4294967295) }, items: [Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1246), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 19, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, Item { ident: #0, attrs: [], id: 20, node: ItemUse(Spanned { node: ViewPathSimple(Cow#0, path(std::borrow::Cow)), span: Span { lo: BytePos(19539), hi: BytePos(19555), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19535), hi: BytePos(19556), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 21, node: ItemUse(Spanned { node: ViewPathSimple(MessageItem#0, path(dbus::MessageItem)), span: Span { lo: BytePos(19561), hi: BytePos(19578), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19557), hi: BytePos(19579), expn_id: ExpnId(4294967295) } }, Item { ident: unwrap_message_int#0, attrs: [], id: 22, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(24: item), id: 23 }], output: Return(type(i32)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 28, predicates: [] } }, Block { stmts: [], expr: Some(expr(30: unwrap_message_str(item).parse::<i32>().unwrap_or(0))), id: 29, rules: DefaultBlock, span: Span { lo: BytePos(19671), hi: BytePos(19731), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19619), hi: BytePos(19731), expn_id: ExpnId(4294967295) } }, Item { ident: unwrap_message_bool#0, attrs: [], id: 37, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(39: item), id: 38 }], output: Return(type(bool)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 43, predicates: [] } }, Block { stmts: [], expr: Some(expr(45: unwrap_message_str(item).parse::<bool>().unwrap_or(false))), id: 44, rules: DefaultBlock, span: Span { lo: BytePos(19787), hi: BytePos(19852), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19733), hi: BytePos(19852), expn_id: ExpnId(4294967295) } }, Item { ident: unwrap_message_str#0, attrs: [], id: 52, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(54: item), id: 53 }], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 58, predicates: [] } }, Block { stmts: [], expr: Some(expr(60: match item {
&MessageItem::Str(ref value) => value.to_owned(),
&MessageItem::Variant(ref value) =>
match **value {
MessageItem::Str(ref value) => value.to_owned(),
_ => "".to_owned(),
},
_ => "".to_owned(),
})), id: 59, rules: DefaultBlock, span: Span { lo: BytePos(19910), hi: BytePos(20210), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19854), hi: BytePos(20210), expn_id: ExpnId(4294967295) } }, Item { ident: unwrap_message_string#0, attrs: [], id: 84, node: ItemFn(FnDecl { inputs: [Arg { ty: type(Option<&MessageItem>), pat: pat(86: item), id: 85 }], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 91, predicates: [] } }, Block { stmts: [], expr: Some(expr(93: match item {
Some(&MessageItem::Str(ref value)) => value.clone(),
Some(&MessageItem::Array(ref items, Cow::Borrowed("{sv}"))) =>
::std::fmt::format(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["DICT "];
__STATIC_FMTSTR
},
&match (&items,) {
(__arg0,) =>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
})),
Some(&MessageItem::Array(ref items, Cow::Borrowed("s"))) =>
::std::fmt::format(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["ARRAY "];
__STATIC_FMTSTR
},
&match (&items,) {
(__arg0,) =>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
})),
Some(&MessageItem::Array(ref items, ref sig)) =>
::std::fmt::format(::std::fmt::Arguments::new_v1_formatted({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["",
" "];
__STATIC_FMTSTR
},
&match (&items,
&sig) {
(__argitems,
__argsig)
=>
[::std::fmt::ArgumentV1::new(__argsig,
::std::fmt::Debug::fmt),
::std::fmt::ArgumentV1::new(__argitems,
::std::fmt::Debug::fmt)],
},
{
static __STATIC_FMTARGS:
&'static [::std::fmt::rt::v1::Argument]
=
&[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(0usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(1usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}];
__STATIC_FMTARGS
})),
_ => "".to_owned(),
})), id: 92, rules: DefaultBlock, span: Span { lo: BytePos(20279), hi: BytePos(20703), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(20212), hi: BytePos(20703), expn_id: ExpnId(4294967295) } }] }), vis: Inherited, span: Span { lo: BytePos(2762), hi: BytePos(2771), expn_id: ExpnId(4294967295) }
}
Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1246), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 19, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }
Item { ident: #0, attrs: [], id: 20, node: ItemUse(Spanned { node: ViewPathSimple(Cow#0, path(std::borrow::Cow)), span: Span { lo: BytePos(19539), hi: BytePos(19555), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19535), hi: BytePos(19556), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 21, node: ItemUse(Spanned { node: ViewPathSimple(MessageItem#0, path(dbus::MessageItem)), span: Span { lo: BytePos(19561), hi: BytePos(19578), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19557), hi: BytePos(19579), expn_id: ExpnId(4294967295) } }
Item { ident: unwrap_message_int#0, attrs: [], id: 22, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(24: item), id: 23 }], output: Return(type(i32)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 28, predicates: [] } }, Block { stmts: [], expr: Some(expr(30: unwrap_message_str(item).parse::<i32>().unwrap_or(0))), id: 29, rules: DefaultBlock, span: Span { lo: BytePos(19671), hi: BytePos(19731), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19619), hi: BytePos(19731), expn_id: ExpnId(4294967295) } }
Item { ident: unwrap_message_bool#0, attrs: [], id: 37, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(39: item), id: 38 }], output: Return(type(bool)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 43, predicates: [] } }, Block { stmts: [], expr: Some(expr(45: unwrap_message_str(item).parse::<bool>().unwrap_or(false))), id: 44, rules: DefaultBlock, span: Span { lo: BytePos(19787), hi: BytePos(19852), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19733), hi: BytePos(19852), expn_id: ExpnId(4294967295) } }
Item { ident: unwrap_message_str#0, attrs: [], id: 52, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(54: item), id: 53 }], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 58, predicates: [] } }, Block { stmts: [], expr: Some(expr(60: match item {
&MessageItem::Str(ref value) => value.to_owned(),
&MessageItem::Variant(ref value) =>
match **value {
MessageItem::Str(ref value) => value.to_owned(),
_ => "".to_owned(),
},
_ => "".to_owned(),
})), id: 59, rules: DefaultBlock, span: Span { lo: BytePos(19910), hi: BytePos(20210), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(19854), hi: BytePos(20210), expn_id: ExpnId(4294967295) } }
Item { ident: unwrap_message_string#0, attrs: [], id: 84, node: ItemFn(FnDecl { inputs: [Arg { ty: type(Option<&MessageItem>), pat: pat(86: item), id: 85 }], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 91, predicates: [] } }, Block { stmts: [], expr: Some(expr(93: match item {
Some(&MessageItem::Str(ref value)) => value.clone(),
Some(&MessageItem::Array(ref items, Cow::Borrowed("{sv}"))) =>
::std::fmt::format(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["DICT "];
__STATIC_FMTSTR
},
&match (&items,) {
(__arg0,) =>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
})),
Some(&MessageItem::Array(ref items, Cow::Borrowed("s"))) =>
::std::fmt::format(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["ARRAY "];
__STATIC_FMTSTR
},
&match (&items,) {
(__arg0,) =>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
})),
Some(&MessageItem::Array(ref items, ref sig)) =>
::std::fmt::format(::std::fmt::Arguments::new_v1_formatted({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["",
" "];
__STATIC_FMTSTR
},
&match (&items,
&sig) {
(__argitems,
__argsig)
=>
[::std::fmt::ArgumentV1::new(__argsig,
::std::fmt::Debug::fmt),
::std::fmt::ArgumentV1::new(__argitems,
::std::fmt::Debug::fmt)],
},
{
static __STATIC_FMTARGS:
&'static [::std::fmt::rt::v1::Argument]
=
&[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(0usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(1usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}];
__STATIC_FMTARGS
})),
_ => "".to_owned(),
})), id: 92, rules: DefaultBlock, span: Span { lo: BytePos(20279), hi: BytePos(20703), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(20212), hi: BytePos(20703), expn_id: ExpnId(4294967295) } }
Item { ident: __STATIC_FMTSTR#15, attrs: [], id: 115, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(122: &["DICT "])), vis: Inherited, span: Span { lo: BytePos(20437), hi: BytePos(20450), expn_id: ExpnId(1) } }
Item { ident: __STATIC_FMTSTR#23, attrs: [], id: 152, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(159: &["ARRAY "])), vis: Inherited, span: Span { lo: BytePos(20536), hi: BytePos(20549), expn_id: ExpnId(3) } }
Item { ident: __STATIC_FMTSTR#32, attrs: [], id: 187, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(194: &["", " "])), vis: Inherited, span: Span { lo: BytePos(20625), hi: BytePos(20644), expn_id: ExpnId(5) } }
Item { ident: __STATIC_FMTARGS#32, attrs: [], id: 221, node: ItemStatic(type(&'static [::std::fmt::rt::v1::Argument]), MutImmutable, expr(226: &[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(0usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(1usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}])), vis: Inherited, span: Span { lo: BytePos(40666), hi: BytePos(40697), expn_id: ExpnId(5) } }
Item { ident: server#0, attrs: [Spanned { node: Attribute_ { id: AttrId(66), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! **Experimental** server taking the place of your Desktop Environments Notification Server.", CookedStr), span: Span { lo: BytePos(20706), hi: BytePos(20800), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20706), hi: BytePos(20800), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20706), hi: BytePos(20800), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(67), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(20801), hi: BytePos(20804), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20801), hi: BytePos(20804), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20801), hi: BytePos(20804), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(68), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! This is not nearly meant for anything but testing, as it only prints notifications to stdout.", CookedStr), span: Span { lo: BytePos(20805), hi: BytePos(20902), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20805), hi: BytePos(20902), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20805), hi: BytePos(20902), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(69), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! It does not respond properly either yet.", CookedStr), span: Span { lo: BytePos(20903), hi: BytePos(20947), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20903), hi: BytePos(20947), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20903), hi: BytePos(20947), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(70), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(20948), hi: BytePos(20951), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20948), hi: BytePos(20951), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20948), hi: BytePos(20951), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(71), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! This server will not replace an already running notification server.", CookedStr), span: Span { lo: BytePos(20952), hi: BytePos(21024), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(20952), hi: BytePos(21024), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(20952), hi: BytePos(21024), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(72), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(21025), hi: BytePos(21028), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21025), hi: BytePos(21028), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21025), hi: BytePos(21028), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(73), style: Inner, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("missing_debug_implementations"), span: Span { lo: BytePos(21039), hi: BytePos(21068), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21033), hi: BytePos(21070), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(21030), hi: BytePos(21070), expn_id: ExpnId(4294967295) } }], id: 252, node: ItemMod(Mod { inner: Span { lo: BytePos(20706), hi: BytePos(28210), expn_id: ExpnId(4294967295) }, items: [Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1247), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 253, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, Item { ident: dbus#0, attrs: [], id: 254, node: ItemExternCrate(None), vis: Inherited, span: Span { lo: BytePos(21071), hi: BytePos(21089), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 255, node: ItemUse(Spanned { node: ViewPathSimple(HashSet#0, path(std::collections::HashSet)), span: Span { lo: BytePos(21095), hi: BytePos(21120), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21091), hi: BytePos(21121), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 256, node: ItemUse(Spanned { node: ViewPathSimple(Cell#0, path(std::cell::Cell)), span: Span { lo: BytePos(21126), hi: BytePos(21141), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21122), hi: BytePos(21142), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 257, node: ItemUse(Spanned { node: ViewPathList(path(dbus), [Spanned { node: PathListIdent { name: Connection#0, rename: None, id: 258 }, span: Span { lo: BytePos(21155), hi: BytePos(21165), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: BusType#0, rename: None, id: 259 }, span: Span { lo: BytePos(21167), hi: BytePos(21174), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: NameFlag#0, rename: None, id: 260 }, span: Span { lo: BytePos(21176), hi: BytePos(21184), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: ConnectionItem#0, rename: None, id: 261 }, span: Span { lo: BytePos(21186), hi: BytePos(21200), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Message#0, rename: None, id: 262 }, span: Span { lo: BytePos(21202), hi: BytePos(21209), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: MessageItem#0, rename: None, id: 263 }, span: Span { lo: BytePos(21211), hi: BytePos(21222), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21148), hi: BytePos(21224), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21144), hi: BytePos(21224), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 264, node: ItemUse(Spanned { node: ViewPathList(path(dbus::obj), [Spanned { node: PathListIdent { name: ObjectPath#0, rename: None, id: 265 }, span: Span { lo: BytePos(21241), hi: BytePos(21251), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Argument#0, rename: None, id: 266 }, span: Span { lo: BytePos(21253), hi: BytePos(21261), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Method#0, rename: None, id: 267 }, span: Span { lo: BytePos(21263), hi: BytePos(21269), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Interface#0, rename: None, id: 268 }, span: Span { lo: BytePos(21271), hi: BytePos(21280), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21229), hi: BytePos(21282), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21225), hi: BytePos(21282), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 269, node: ItemUse(Spanned { node: ViewPathList(path(super), [Spanned { node: PathListIdent { name: Notification#0, rename: None, id: 270 }, span: Span { lo: BytePos(21296), hi: BytePos(21308), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: NotificationHint#0, rename: None, id: 271 }, span: Span { lo: BytePos(21309), hi: BytePos(21325), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21288), hi: BytePos(21327), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21284), hi: BytePos(21327), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 272, node: ItemUse(Spanned { node: ViewPathGlob(path(util)), span: Span { lo: BytePos(21332), hi: BytePos(21340), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21328), hi: BytePos(21340), expn_id: ExpnId(4294967295) } }, Item { ident: DBUS_ERROR_FAILED#0, attrs: [], id: 273, node: ItemStatic(type(&'static str), MutImmutable, expr(277: "org.freedesktop.DBus.Error.Failed")), vis: Inherited, span: Span { lo: BytePos(21342), hi: BytePos(21419), expn_id: ExpnId(4294967295) } }, Item { ident: VERSION#0, attrs: [Spanned { node: Attribute_ { id: AttrId(74), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Version of the crate equals the version server.", CookedStr), span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }], id: 278, node: ItemConst(type(&'static str), expr(282: "3.0.3")), vis: Public, span: Span { lo: BytePos(21472), hi: BytePos(21532), expn_id: ExpnId(4294967295) } }, Item { ident: NotificationServer#0, attrs: [Spanned { node: Attribute_ { id: AttrId(75), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// An **experimental** notification server.", CookedStr), span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(76), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// See [the module level documentation](index.html) for more.", CookedStr), span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }], id: 283, node: ItemStruct(Struct([Spanned { node: StructField_ { kind: NamedField(counter#0, Public), id: 284, ty: type(Cell<u32>), attrs: [Spanned { node: Attribute_ { id: AttrId(77), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Counter for generating notification ids", CookedStr), span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(21726), hi: BytePos(21748), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(stop#0, Public), id: 287, ty: type(Cell<bool>), attrs: [Spanned { node: Attribute_ { id: AttrId(78), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// A flag that stops the server", CookedStr), span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(21791), hi: BytePos(21811), expn_id: ExpnId(4294967295) } }], 290), Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 291, predicates: [] } }), vis: Public, span: Span { lo: BytePos(21642), hi: BytePos(21813), expn_id: ExpnId(4294967295) } }, Item { ident: NotificationServer#0, attrs: [], id: 292, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 882, predicates: [] } }, None, type(NotificationServer), [ImplItem { id: 293, ident: count_up#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(296: self), id: 295 }], output: DefaultReturn(Span { lo: BytePos(21864), hi: BytePos(21864), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 294, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(21857), hi: BytePos(21865), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(299: self.counter.set(self.counter.get() + 1);)], expr: None, id: 298, rules: DefaultBlock, span: Span { lo: BytePos(21864), hi: BytePos(21922), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21845), hi: BytePos(21922), expn_id: ExpnId(4294967295) } }, ImplItem { id: 308, ident: new#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(79), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Create a new `NotificationServer` instance.", CookedStr), span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [], output: Return(type(NotificationServer)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 309, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(21991), hi: BytePos(21995), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(312: NotificationServer{counter: Cell::new(0), stop: Cell::new(false),})), id: 311, rules: DefaultBlock, span: Span { lo: BytePos(22015), hi: BytePos(22094), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21980), hi: BytePos(22094), expn_id: ExpnId(4294967295) } }, ImplItem { id: 319, ident: start#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(80), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Start listening for incoming notifications", CookedStr), span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(327: self), id: 326 }, Arg { ty: type(F), pat: pat(330: closure), id: 329 }], output: DefaultReturn(Span { lo: BytePos(22339), hi: BytePos(22339), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: F#0, id: 320, bounds: [], default: None, span: Span { lo: BytePos(22313), hi: BytePos(22314), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 321, predicates: [BoundPredicate(WhereBoundPredicate { span: Span { lo: BytePos(22345), hi: BytePos(22365), expn_id: ExpnId(4294967295) }, bound_lifetimes: [], bounded_ty: type(F), bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(Fn(&Notification)), ref_id: 323 }, span: Span { lo: BytePos(22348), hi: BytePos(22365), expn_id: ExpnId(4294967295) } }, None)] })] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(22316), hi: BytePos(22344), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(333: let connection = Connection::get_private(BusType::Session).unwrap();), stmt(340: connection.release_name("org.freedesktop.Notifications").unwrap();), stmt(345: connection.register_name("org.freedesktop.Notifications",
NameFlag::ReplaceExisting as
u32).ok().expect("Was not able to register name.");), stmt(355: let mut objpath =
ObjectPath::new(&connection, "/org/freedesktop/Notifications", false);), stmt(364: connection.register_object_path("/org/freedesktop/Notifications").ok().expect("could not register object path");), stmt(371: let server_interface =
Interface::new(<[_]>::into_vec(::std::boxed::Box::new([Method::new("Notify",
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("app_name",
"s"),
Argument::new("replaces_id",
"u"),
Argument::new("app_icon",
"s"),
Argument::new("summary",
"s"),
Argument::new("body",
"s"),
Argument::new("actions",
"as"),
Argument::new("hints",
"a{sv}"),
Argument::new("timeout",
"i")])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("arg_0",
"u")])),
Box::new(|msg|
{
let hint_items =
msg.get_items().get(6).unwrap().clone();
let hint_items:
&Vec<MessageItem> =
hint_items.inner().unwrap();
let hints =
hint_items.iter().map(|item|
item.into()).collect::<HashSet<NotificationHint>>();
let action_items =
msg.get_items().get(5).unwrap().clone();
let action_items:
&Vec<MessageItem> =
action_items.inner().unwrap();
let actions:
Vec<String> =
action_items.iter().map(|action|
action.inner::<&String>().unwrap().to_owned()).collect();
let notification =
Notification{appname:
unwrap_message_str(msg.get_items().get(0).unwrap()),
summary:
unwrap_message_string(msg.get_items().get(3)),
body:
unwrap_message_string(msg.get_items().get(4)),
icon:
unwrap_message_string(msg.get_items().get(2)),
timeout:
msg.get_items().get(7).unwrap().inner().unwrap(),
hints:
hints,
actions:
actions,
id:
Some(self.counter.get()),};
closure(¬ification);
self.count_up();
Ok(<[_]>::into_vec(::std::boxed::Box::new([MessageItem::Int32(42)])))
})),
Method::new("CloseNotification",
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("id",
"u")])),
<[_]>::into_vec(::std::boxed::Box::new([])),
Box::new(|_msg|
{
::std::io::_print(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["",
"\n"];
__STATIC_FMTSTR
},
&match (&_msg,)
{
(__arg0,)
=>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
}));
Ok(<[_]>::into_vec(::std::boxed::Box::new([])))
})),
Method::new("Stop",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([])),
Box::new(|_msg|
{
self.stop.set(true);
Ok(<[_]>::into_vec(::std::boxed::Box::new([])))
})),
Method::new("GetCapabilities",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("caps",
"{s}")])),
Box::new(|_msg|
Ok(<[_]>::into_vec(::std::boxed::Box::new([MessageItem::new_array(<[_]>::into_vec(::std::boxed::Box::new(["body".into()]))).unwrap()]))))),
Method::new("GetServerInformation",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("name",
"s"),
Argument::new("vendor",
"s"),
Argument::new("version",
"s"),
Argument::new("spec_version",
"s")])),
Box::new(|_msg|
Ok(<[_]>::into_vec(::std::boxed::Box::new(["notify-rust daemon".into(),
"notify-rust".into(),
VERSION.into(),
"1.1".into()])))))])),
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([])));), stmt(811: objpath.insert_interface("org.freedesktop.Notifications", server_interface);)], expr: Some(expr(816: for n in connection.iter(10) {
match n {
ConnectionItem::MethodCall(mut m) =>
if objpath.handle_message(&mut m).is_none() {
connection.send(Message::new_error(&m, DBUS_ERROR_FAILED,
"Object path not found").unwrap()).unwrap();
},
ConnectionItem::Signal(_m) => { }
_ => (),
}
if self.stop.get() {
::std::io::_print(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["stopping server\n"];
__STATIC_FMTSTR
},
&match () {
() => [],
}));
break ;
}
})), id: 332, rules: DefaultBlock, span: Span { lo: BytePos(22366), hi: BytePos(28208), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(22300), hi: BytePos(28208), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(21815), hi: BytePos(28210), expn_id: ExpnId(4294967295) } }] }), vis: Public, span: Span { lo: BytePos(2772), hi: BytePos(2787), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1247), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 253, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }
Item { ident: dbus#0, attrs: [], id: 254, node: ItemExternCrate(None), vis: Inherited, span: Span { lo: BytePos(21071), hi: BytePos(21089), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 255, node: ItemUse(Spanned { node: ViewPathSimple(HashSet#0, path(std::collections::HashSet)), span: Span { lo: BytePos(21095), hi: BytePos(21120), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21091), hi: BytePos(21121), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 256, node: ItemUse(Spanned { node: ViewPathSimple(Cell#0, path(std::cell::Cell)), span: Span { lo: BytePos(21126), hi: BytePos(21141), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21122), hi: BytePos(21142), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 257, node: ItemUse(Spanned { node: ViewPathList(path(dbus), [Spanned { node: PathListIdent { name: Connection#0, rename: None, id: 258 }, span: Span { lo: BytePos(21155), hi: BytePos(21165), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: BusType#0, rename: None, id: 259 }, span: Span { lo: BytePos(21167), hi: BytePos(21174), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: NameFlag#0, rename: None, id: 260 }, span: Span { lo: BytePos(21176), hi: BytePos(21184), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: ConnectionItem#0, rename: None, id: 261 }, span: Span { lo: BytePos(21186), hi: BytePos(21200), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Message#0, rename: None, id: 262 }, span: Span { lo: BytePos(21202), hi: BytePos(21209), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: MessageItem#0, rename: None, id: 263 }, span: Span { lo: BytePos(21211), hi: BytePos(21222), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21148), hi: BytePos(21224), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21144), hi: BytePos(21224), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 264, node: ItemUse(Spanned { node: ViewPathList(path(dbus::obj), [Spanned { node: PathListIdent { name: ObjectPath#0, rename: None, id: 265 }, span: Span { lo: BytePos(21241), hi: BytePos(21251), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Argument#0, rename: None, id: 266 }, span: Span { lo: BytePos(21253), hi: BytePos(21261), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Method#0, rename: None, id: 267 }, span: Span { lo: BytePos(21263), hi: BytePos(21269), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: Interface#0, rename: None, id: 268 }, span: Span { lo: BytePos(21271), hi: BytePos(21280), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21229), hi: BytePos(21282), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21225), hi: BytePos(21282), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 269, node: ItemUse(Spanned { node: ViewPathList(path(super), [Spanned { node: PathListIdent { name: Notification#0, rename: None, id: 270 }, span: Span { lo: BytePos(21296), hi: BytePos(21308), expn_id: ExpnId(4294967295) } }, Spanned { node: PathListIdent { name: NotificationHint#0, rename: None, id: 271 }, span: Span { lo: BytePos(21309), hi: BytePos(21325), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(21288), hi: BytePos(21327), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21284), hi: BytePos(21327), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 272, node: ItemUse(Spanned { node: ViewPathGlob(path(util)), span: Span { lo: BytePos(21332), hi: BytePos(21340), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(21328), hi: BytePos(21340), expn_id: ExpnId(4294967295) } }
Item { ident: DBUS_ERROR_FAILED#0, attrs: [], id: 273, node: ItemStatic(type(&'static str), MutImmutable, expr(277: "org.freedesktop.DBus.Error.Failed")), vis: Inherited, span: Span { lo: BytePos(21342), hi: BytePos(21419), expn_id: ExpnId(4294967295) } }
Item { ident: VERSION#0, attrs: [Spanned { node: Attribute_ { id: AttrId(74), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Version of the crate equals the version server.", CookedStr), span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21420), hi: BytePos(21471), expn_id: ExpnId(4294967295) } }], id: 278, node: ItemConst(type(&'static str), expr(282: "3.0.3")), vis: Public, span: Span { lo: BytePos(21472), hi: BytePos(21532), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationServer#0, attrs: [Spanned { node: Attribute_ { id: AttrId(75), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// An **experimental** notification server.", CookedStr), span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21534), hi: BytePos(21578), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(76), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// See [the module level documentation](index.html) for more.", CookedStr), span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21579), hi: BytePos(21641), expn_id: ExpnId(4294967295) } }], id: 283, node: ItemStruct(Struct([Spanned { node: StructField_ { kind: NamedField(counter#0, Public), id: 284, ty: type(Cell<u32>), attrs: [Spanned { node: Attribute_ { id: AttrId(77), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Counter for generating notification ids", CookedStr), span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21678), hi: BytePos(21721), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(21726), hi: BytePos(21748), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(stop#0, Public), id: 287, ty: type(Cell<bool>), attrs: [Spanned { node: Attribute_ { id: AttrId(78), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// A flag that stops the server", CookedStr), span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21754), hi: BytePos(21786), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(21791), hi: BytePos(21811), expn_id: ExpnId(4294967295) } }], 290), Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 291, predicates: [] } }), vis: Public, span: Span { lo: BytePos(21642), hi: BytePos(21813), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationServer#0, attrs: [], id: 292, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 882, predicates: [] } }, None, type(NotificationServer), [ImplItem { id: 293, ident: count_up#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(296: self), id: 295 }], output: DefaultReturn(Span { lo: BytePos(21864), hi: BytePos(21864), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 294, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(21857), hi: BytePos(21865), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(299: self.counter.set(self.counter.get() + 1);)], expr: None, id: 298, rules: DefaultBlock, span: Span { lo: BytePos(21864), hi: BytePos(21922), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21845), hi: BytePos(21922), expn_id: ExpnId(4294967295) } }, ImplItem { id: 308, ident: new#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(79), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Create a new `NotificationServer` instance.", CookedStr), span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(21928), hi: BytePos(21975), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [], output: Return(type(NotificationServer)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 309, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(21991), hi: BytePos(21995), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(312: NotificationServer{counter: Cell::new(0), stop: Cell::new(false),})), id: 311, rules: DefaultBlock, span: Span { lo: BytePos(22015), hi: BytePos(22094), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(21980), hi: BytePos(22094), expn_id: ExpnId(4294967295) } }, ImplItem { id: 319, ident: start#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(80), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Start listening for incoming notifications", CookedStr), span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(22249), hi: BytePos(22295), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(327: self), id: 326 }, Arg { ty: type(F), pat: pat(330: closure), id: 329 }], output: DefaultReturn(Span { lo: BytePos(22339), hi: BytePos(22339), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: F#0, id: 320, bounds: [], default: None, span: Span { lo: BytePos(22313), hi: BytePos(22314), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 321, predicates: [BoundPredicate(WhereBoundPredicate { span: Span { lo: BytePos(22345), hi: BytePos(22365), expn_id: ExpnId(4294967295) }, bound_lifetimes: [], bounded_ty: type(F), bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(Fn(&Notification)), ref_id: 323 }, span: Span { lo: BytePos(22348), hi: BytePos(22365), expn_id: ExpnId(4294967295) } }, None)] })] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(22316), hi: BytePos(22344), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(333: let connection = Connection::get_private(BusType::Session).unwrap();), stmt(340: connection.release_name("org.freedesktop.Notifications").unwrap();), stmt(345: connection.register_name("org.freedesktop.Notifications",
NameFlag::ReplaceExisting as
u32).ok().expect("Was not able to register name.");), stmt(355: let mut objpath =
ObjectPath::new(&connection, "/org/freedesktop/Notifications", false);), stmt(364: connection.register_object_path("/org/freedesktop/Notifications").ok().expect("could not register object path");), stmt(371: let server_interface =
Interface::new(<[_]>::into_vec(::std::boxed::Box::new([Method::new("Notify",
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("app_name",
"s"),
Argument::new("replaces_id",
"u"),
Argument::new("app_icon",
"s"),
Argument::new("summary",
"s"),
Argument::new("body",
"s"),
Argument::new("actions",
"as"),
Argument::new("hints",
"a{sv}"),
Argument::new("timeout",
"i")])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("arg_0",
"u")])),
Box::new(|msg|
{
let hint_items =
msg.get_items().get(6).unwrap().clone();
let hint_items:
&Vec<MessageItem> =
hint_items.inner().unwrap();
let hints =
hint_items.iter().map(|item|
item.into()).collect::<HashSet<NotificationHint>>();
let action_items =
msg.get_items().get(5).unwrap().clone();
let action_items:
&Vec<MessageItem> =
action_items.inner().unwrap();
let actions:
Vec<String> =
action_items.iter().map(|action|
action.inner::<&String>().unwrap().to_owned()).collect();
let notification =
Notification{appname:
unwrap_message_str(msg.get_items().get(0).unwrap()),
summary:
unwrap_message_string(msg.get_items().get(3)),
body:
unwrap_message_string(msg.get_items().get(4)),
icon:
unwrap_message_string(msg.get_items().get(2)),
timeout:
msg.get_items().get(7).unwrap().inner().unwrap(),
hints:
hints,
actions:
actions,
id:
Some(self.counter.get()),};
closure(¬ification);
self.count_up();
Ok(<[_]>::into_vec(::std::boxed::Box::new([MessageItem::Int32(42)])))
})),
Method::new("CloseNotification",
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("id",
"u")])),
<[_]>::into_vec(::std::boxed::Box::new([])),
Box::new(|_msg|
{
::std::io::_print(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["",
"\n"];
__STATIC_FMTSTR
},
&match (&_msg,)
{
(__arg0,)
=>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
}));
Ok(<[_]>::into_vec(::std::boxed::Box::new([])))
})),
Method::new("Stop",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([])),
Box::new(|_msg|
{
self.stop.set(true);
Ok(<[_]>::into_vec(::std::boxed::Box::new([])))
})),
Method::new("GetCapabilities",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("caps",
"{s}")])),
Box::new(|_msg|
Ok(<[_]>::into_vec(::std::boxed::Box::new([MessageItem::new_array(<[_]>::into_vec(::std::boxed::Box::new(["body".into()]))).unwrap()]))))),
Method::new("GetServerInformation",
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([Argument::new("name",
"s"),
Argument::new("vendor",
"s"),
Argument::new("version",
"s"),
Argument::new("spec_version",
"s")])),
Box::new(|_msg|
Ok(<[_]>::into_vec(::std::boxed::Box::new(["notify-rust daemon".into(),
"notify-rust".into(),
VERSION.into(),
"1.1".into()])))))])),
<[_]>::into_vec(::std::boxed::Box::new([])),
<[_]>::into_vec(::std::boxed::Box::new([])));), stmt(811: objpath.insert_interface("org.freedesktop.Notifications", server_interface);)], expr: Some(expr(816: for n in connection.iter(10) {
match n {
ConnectionItem::MethodCall(mut m) =>
if objpath.handle_message(&mut m).is_none() {
connection.send(Message::new_error(&m, DBUS_ERROR_FAILED,
"Object path not found").unwrap()).unwrap();
},
ConnectionItem::Signal(_m) => { }
_ => (),
}
if self.stop.get() {
::std::io::_print(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["stopping server\n"];
__STATIC_FMTSTR
},
&match () {
() => [],
}));
break ;
}
})), id: 332, rules: DefaultBlock, span: Span { lo: BytePos(22366), hi: BytePos(28208), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(22300), hi: BytePos(28208), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(21815), hi: BytePos(28210), expn_id: ExpnId(4294967295) } }
Item { ident: __STATIC_FMTSTR#79, attrs: [], id: 618, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(625: &["", "\n"])), vis: Inherited, span: Span { lo: BytePos(41345), hi: BytePos(41370), expn_id: ExpnId(15) } }
Item { ident: __STATIC_FMTSTR#122, attrs: [], id: 864, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(871: &["stopping server\n"])), vis: Inherited, span: Span { lo: BytePos(41260), hi: BytePos(41285), expn_id: ExpnId(34) } }
Item { ident: hints#0, attrs: [Spanned { node: Attribute_ { id: AttrId(81), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! NotificationHints allow to pass extra information to the server.", CookedStr), span: Span { lo: BytePos(28212), hi: BytePos(28280), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28212), hi: BytePos(28280), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28212), hi: BytePos(28280), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(82), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(28281), hi: BytePos(28284), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28281), hi: BytePos(28284), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28281), hi: BytePos(28284), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(83), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! Many of these are standardized by either:", CookedStr), span: Span { lo: BytePos(28285), hi: BytePos(28330), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28285), hi: BytePos(28330), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28285), hi: BytePos(28330), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(84), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(28331), hi: BytePos(28334), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28331), hi: BytePos(28334), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28331), hi: BytePos(28334), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(85), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! * http://www.galago-project.org/specs/notification/0.9/x344.html", CookedStr), span: Span { lo: BytePos(28335), hi: BytePos(28403), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28335), hi: BytePos(28403), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28335), hi: BytePos(28403), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(86), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! * https://developer.gnome.org/notification-spec/#hints", CookedStr), span: Span { lo: BytePos(28404), hi: BytePos(28462), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28404), hi: BytePos(28462), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28404), hi: BytePos(28462), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(87), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//!", CookedStr), span: Span { lo: BytePos(28463), hi: BytePos(28466), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28463), hi: BytePos(28466), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28463), hi: BytePos(28466), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(88), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! Which of these are actually implemented depends strongly on the Notification server you talk to.", CookedStr), span: Span { lo: BytePos(28467), hi: BytePos(28567), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28467), hi: BytePos(28567), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28467), hi: BytePos(28567), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(89), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! Usually the `get_capabilities()` gives some clues, but the standards usually mention much more", CookedStr), span: Span { lo: BytePos(28568), hi: BytePos(28666), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28568), hi: BytePos(28666), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28568), hi: BytePos(28666), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(90), style: Inner, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("//! than is actually available.", CookedStr), span: Span { lo: BytePos(28667), hi: BytePos(28698), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(28667), hi: BytePos(28698), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(28667), hi: BytePos(28698), expn_id: ExpnId(4294967295) } }], id: 884, node: ItemMod(Mod { inner: Span { lo: BytePos(28212), hi: BytePos(38822), expn_id: ExpnId(4294967295) }, items: [Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1248), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 885, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, Item { ident: #0, attrs: [], id: 886, node: ItemUse(Spanned { node: ViewPathSimple(MessageItem#0, path(dbus::MessageItem)), span: Span { lo: BytePos(28705), hi: BytePos(28722), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28701), hi: BytePos(28723), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 887, node: ItemUse(Spanned { node: ViewPathSimple(NotificationUrgency#0, path(super::NotificationUrgency)), span: Span { lo: BytePos(28728), hi: BytePos(28754), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28724), hi: BytePos(28755), expn_id: ExpnId(4294967295) } }, Item { ident: #0, attrs: [], id: 888, node: ItemUse(Spanned { node: ViewPathGlob(path(util)), span: Span { lo: BytePos(28760), hi: BytePos(28768), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28756), hi: BytePos(28768), expn_id: ExpnId(4294967295) } }, Item { ident: ACTION_ICONS#0, attrs: [], id: 889, node: ItemConst(type(&'static str), expr(893: "action-icons")), vis: Inherited, span: Span { lo: BytePos(28770), hi: BytePos(28821), expn_id: ExpnId(4294967295) } }, Item { ident: CATEGORY#0, attrs: [], id: 894, node: ItemConst(type(&'static str), expr(898: "category")), vis: Inherited, span: Span { lo: BytePos(28822), hi: BytePos(28869), expn_id: ExpnId(4294967295) } }, Item { ident: DESKTOP_ENTRY#0, attrs: [], id: 899, node: ItemConst(type(&'static str), expr(903: "desktop-entry")), vis: Inherited, span: Span { lo: BytePos(28870), hi: BytePos(28922), expn_id: ExpnId(4294967295) } }, Item { ident: IMAGE_PATH#0, attrs: [], id: 904, node: ItemConst(type(&'static str), expr(908: "image-path")), vis: Inherited, span: Span { lo: BytePos(28973), hi: BytePos(29022), expn_id: ExpnId(4294967295) } }, Item { ident: RESIDENT#0, attrs: [], id: 909, node: ItemConst(type(&'static str), expr(913: "resident")), vis: Inherited, span: Span { lo: BytePos(29072), hi: BytePos(29119), expn_id: ExpnId(4294967295) } }, Item { ident: SOUND_FILE#0, attrs: [], id: 914, node: ItemConst(type(&'static str), expr(918: "sound-file")), vis: Inherited, span: Span { lo: BytePos(29120), hi: BytePos(29169), expn_id: ExpnId(4294967295) } }, Item { ident: SOUND_NAME#0, attrs: [], id: 919, node: ItemConst(type(&'static str), expr(923: "sound-name")), vis: Inherited, span: Span { lo: BytePos(29170), hi: BytePos(29219), expn_id: ExpnId(4294967295) } }, Item { ident: SUPPRESS_SOUND#0, attrs: [], id: 924, node: ItemConst(type(&'static str), expr(928: "suppress-sound")), vis: Inherited, span: Span { lo: BytePos(29220), hi: BytePos(29273), expn_id: ExpnId(4294967295) } }, Item { ident: TRANSIENT#0, attrs: [], id: 929, node: ItemConst(type(&'static str), expr(933: "transient")), vis: Inherited, span: Span { lo: BytePos(29274), hi: BytePos(29322), expn_id: ExpnId(4294967295) } }, Item { ident: X#0, attrs: [], id: 934, node: ItemConst(type(&'static str), expr(938: "x")), vis: Inherited, span: Span { lo: BytePos(29323), hi: BytePos(29363), expn_id: ExpnId(4294967295) } }, Item { ident: Y#0, attrs: [], id: 939, node: ItemConst(type(&'static str), expr(943: "y")), vis: Inherited, span: Span { lo: BytePos(29364), hi: BytePos(29404), expn_id: ExpnId(4294967295) } }, Item { ident: URGENCY#0, attrs: [], id: 944, node: ItemConst(type(&'static str), expr(948: "urgency")), vis: Inherited, span: Span { lo: BytePos(29405), hi: BytePos(29451), expn_id: ExpnId(4294967295) } }, Item { ident: NotificationHint#0, attrs: [Spanned { node: Attribute_ { id: AttrId(91), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// All currently implemented NotificationHints that can be send.", CookedStr), span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }], id: 949, node: ItemEnum(EnumDef { variants: [Spanned { node: Variant_ { name: ActionIcons#0, attrs: [Spanned { node: Attribute_ { id: AttrId(93), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// If true, server may interpret action identifiers as named icons and display those.", CookedStr), span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 950, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(29761), hi: BytePos(29766), expn_id: ExpnId(4294967295) } }], 952), disr_expr: None }, span: Span { lo: BytePos(29749), hi: BytePos(29766), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Category#0, attrs: [Spanned { node: Attribute_ { id: AttrId(94), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Check out:", CookedStr), span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(95), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(96), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// * http://www.galago-project.org/specs/notification/0.9/x211.html", CookedStr), span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(97), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// * https://developer.gnome.org/notification-spec/#categories", CookedStr), span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 953, ty: type(String), attrs: [] }, span: Span { lo: BytePos(29950), hi: BytePos(29957), expn_id: ExpnId(4294967295) } }], 955), disr_expr: None }, span: Span { lo: BytePos(29941), hi: BytePos(29957), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: DesktopEntry#0, attrs: [Spanned { node: Attribute_ { id: AttrId(98), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Name of the DesktopEntry representing the calling application. In case of \"firefox.desktop\"", CookedStr), span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(99), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// use \"firefox\". May be used to retrieve the correct icon.", CookedStr), span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 956, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30142), hi: BytePos(30149), expn_id: ExpnId(4294967295) } }], 958), disr_expr: None }, span: Span { lo: BytePos(30129), hi: BytePos(30149), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: ImagePath#0, attrs: [Spanned { node: Attribute_ { id: AttrId(100), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Display the image at this path.", CookedStr), span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 959, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30298), hi: BytePos(30305), expn_id: ExpnId(4294967295) } }], 961), disr_expr: None }, span: Span { lo: BytePos(30288), hi: BytePos(30305), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Resident#0, attrs: [Spanned { node: Attribute_ { id: AttrId(101), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This does not work on all servers, however timeout=0 will do the job", CookedStr), span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 962, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(30398), hi: BytePos(30403), expn_id: ExpnId(4294967295) } }], 964), disr_expr: None }, span: Span { lo: BytePos(30389), hi: BytePos(30403), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SoundFile#0, attrs: [Spanned { node: Attribute_ { id: AttrId(102), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Play the sound at this path.", CookedStr), span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 965, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30457), hi: BytePos(30464), expn_id: ExpnId(4294967295) } }], 967), disr_expr: None }, span: Span { lo: BytePos(30447), hi: BytePos(30464), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SoundName#0, attrs: [Spanned { node: Attribute_ { id: AttrId(103), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// \tA themeable named sound from the freedesktop.org [sound naming specification](http://0pointer.de/public/sound-naming-spec.html) to play when the notification pops up. Similar to icon-name, only for sounds. An example would be \"message-new-instant\".", CookedStr), span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 968, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30739), hi: BytePos(30746), expn_id: ExpnId(4294967295) } }], 970), disr_expr: None }, span: Span { lo: BytePos(30729), hi: BytePos(30746), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SuppressSound#0, attrs: [Spanned { node: Attribute_ { id: AttrId(104), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Suppress the notification sound.", CookedStr), span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 971, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(30808), hi: BytePos(30813), expn_id: ExpnId(4294967295) } }], 973), disr_expr: None }, span: Span { lo: BytePos(30794), hi: BytePos(30813), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Transient#0, attrs: [Spanned { node: Attribute_ { id: AttrId(105), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// When set the server will treat the notification as transient and by-pass the server\'s persistence capability, if it should exist. When set the server will treat the notification as transient and by-pass the server\'s persistence capability, if it should exist.", CookedStr), span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 974, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(31098), hi: BytePos(31103), expn_id: ExpnId(4294967295) } }], 976), disr_expr: None }, span: Span { lo: BytePos(31088), hi: BytePos(31103), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: X#0, attrs: [Spanned { node: Attribute_ { id: AttrId(106), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Lets the notification point to a certain \'x\' position on the screen.", CookedStr), span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(107), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Requires `Y`.", CookedStr), span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 977, ty: type(i32), attrs: [] }, span: Span { lo: BytePos(31211), hi: BytePos(31215), expn_id: ExpnId(4294967295) } }], 979), disr_expr: None }, span: Span { lo: BytePos(31209), hi: BytePos(31215), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Y#0, attrs: [Spanned { node: Attribute_ { id: AttrId(108), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Lets the notification point to a certain \'y\' position on the screen.", CookedStr), span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(109), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Requires `X`.", CookedStr), span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 980, ty: type(i32), attrs: [] }, span: Span { lo: BytePos(31323), hi: BytePos(31327), expn_id: ExpnId(4294967295) } }], 982), disr_expr: None }, span: Span { lo: BytePos(31321), hi: BytePos(31327), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Urgency#0, attrs: [Spanned { node: Attribute_ { id: AttrId(110), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Pass me a NotificationUrgency, either Low, Normal or Critical", CookedStr), span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 983, ty: type(NotificationUrgency), attrs: [] }, span: Span { lo: BytePos(31412), hi: BytePos(31432), expn_id: ExpnId(4294967295) } }], 985), disr_expr: None }, span: Span { lo: BytePos(31404), hi: BytePos(31432), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Custom#0, attrs: [Spanned { node: Attribute_ { id: AttrId(111), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// If you want to pass something entirely different.", CookedStr), span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 986, ty: type(String), attrs: [] }, span: Span { lo: BytePos(31504), hi: BytePos(31511), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 988, ty: type(String), attrs: [] }, span: Span { lo: BytePos(31511), hi: BytePos(31518), expn_id: ExpnId(4294967295) } }], 990), disr_expr: None }, span: Span { lo: BytePos(31497), hi: BytePos(31518), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Invalid#0, attrs: [Spanned { node: Attribute_ { id: AttrId(112), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Only used by this NotificationServer implementation", CookedStr), span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }], data: Unit(991), disr_expr: None }, span: Span { lo: BytePos(31585), hi: BytePos(31592), expn_id: ExpnId(4294967295) } }] }, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 992, predicates: [] } }), vis: Public, span: Span { lo: BytePos(29564), hi: BytePos(31633), expn_id: ExpnId(4294967295) } }, Item { ident: NotificationHint.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1194), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, Spanned { node: Attribute_ { id: AttrId(1195), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }]), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }], id: 993, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1347, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 1346 }), type(NotificationHint), [ImplItem { id: 994, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(997: self), id: 996 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(1000: __arg_0), id: 999 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 995, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } } }, Block { stmts: [], expr: Some(expr(1005: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("ActionIcons");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Category(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Category");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("DesktopEntry");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::ImagePath(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("ImagePath");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Resident(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Resident");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SoundFile(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SoundFile");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SoundName(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SoundName");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SuppressSound");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Transient(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Transient");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::X(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("X");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Y(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Y");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Urgency(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Urgency");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
let mut builder = __arg_0.debug_tuple("Custom");
let _ = builder.field(&&(*__self_0));
let _ = builder.field(&&(*__self_1));
builder.finish()
}
(&NotificationHint::Invalid,) => {
let mut builder = __arg_0.debug_tuple("Invalid");
builder.finish()
}
})), id: 1004, rules: DefaultBlock, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }]), vis: Inherited, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, Item { ident: NotificationHint.::std::clone::Clone#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1197), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, Spanned { node: Attribute_ { id: AttrId(1198), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }]), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }], id: 1349, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1530, predicates: [] } }, Some(TraitRef { path: path(::std::clone::Clone), ref_id: 1529 }), type(NotificationHint), [ImplItem { id: 1350, ident: clone#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1196), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1353: self), id: 1352 }], output: Return(type(NotificationHint)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1351, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } } }, Block { stmts: [], expr: Some(expr(1357: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) =>
NotificationHint::ActionIcons(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Category(ref __self_0),) =>
NotificationHint::Category(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::DesktopEntry(ref __self_0),) =>
NotificationHint::DesktopEntry(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::ImagePath(ref __self_0),) =>
NotificationHint::ImagePath(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Resident(ref __self_0),) =>
NotificationHint::Resident(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SoundFile(ref __self_0),) =>
NotificationHint::SoundFile(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SoundName(ref __self_0),) =>
NotificationHint::SoundName(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SuppressSound(ref __self_0),) =>
NotificationHint::SuppressSound(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Transient(ref __self_0),) =>
NotificationHint::Transient(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::X(ref __self_0),) =>
NotificationHint::X(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Y(ref __self_0),) =>
NotificationHint::Y(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Urgency(ref __self_0),) =>
NotificationHint::Urgency(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Custom(ref __self_0, ref __self_1),) =>
NotificationHint::Custom(::std::clone::Clone::clone(&(*__self_0)),
::std::clone::Clone::clone(&(*__self_1))),
(&NotificationHint::Invalid,) => NotificationHint::Invalid,
})), id: 1356, rules: DefaultBlock, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }]), vis: Inherited, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, Item { ident: NotificationHint.::std::hash::Hash#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1199), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, Spanned { node: Attribute_ { id: AttrId(1200), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }]), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }], id: 1532, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1832, predicates: [] } }, Some(TraitRef { path: path(::std::hash::Hash), ref_id: 1831 }), type(NotificationHint), [ImplItem { id: 1533, ident: hash#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1538: self), id: 1537 }, Arg { ty: type(&mut __H), pat: pat(1541: __arg_0), id: 1540 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: __H#0, id: 1534, bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(::std::hash::Hasher), ref_id: 1535 }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, None)], default: None, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 1536, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } } }, Block { stmts: [], expr: Some(expr(1546: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
::std::hash::Hash::hash(&0usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Category(ref __self_0),) => {
::std::hash::Hash::hash(&1usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
::std::hash::Hash::hash(&2usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::ImagePath(ref __self_0),) => {
::std::hash::Hash::hash(&3usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Resident(ref __self_0),) => {
::std::hash::Hash::hash(&4usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SoundFile(ref __self_0),) => {
::std::hash::Hash::hash(&5usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SoundName(ref __self_0),) => {
::std::hash::Hash::hash(&6usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
::std::hash::Hash::hash(&7usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Transient(ref __self_0),) => {
::std::hash::Hash::hash(&8usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::X(ref __self_0),) => {
::std::hash::Hash::hash(&9usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Y(ref __self_0),) => {
::std::hash::Hash::hash(&10usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Urgency(ref __self_0),) => {
::std::hash::Hash::hash(&11usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
::std::hash::Hash::hash(&12usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
::std::hash::Hash::hash(&(*__self_1), __arg_0);
}
(&NotificationHint::Invalid,) => {
::std::hash::Hash::hash(&13usize, __arg_0);
}
})), id: 1545, rules: DefaultBlock, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }]), vis: Inherited, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, Item { ident: NotificationHint.::std::cmp::PartialEq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1203), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, Spanned { node: Attribute_ { id: AttrId(1204), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }]), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }], id: 1834, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2404, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::PartialEq), ref_id: 2403 }), type(NotificationHint), [ImplItem { id: 1835, ident: eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1201), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1838: self), id: 1837 }, Arg { ty: type(&NotificationHint), pat: pat(1841: __arg_0), id: 1840 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1836, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } } }, Block { stmts: [], expr: Some(expr(1846: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationHint::ActionIcons(ref __self_0),
&NotificationHint::ActionIcons(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Category(ref __self_0),
&NotificationHint::Category(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::DesktopEntry(ref __self_0),
&NotificationHint::DesktopEntry(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::ImagePath(ref __self_0),
&NotificationHint::ImagePath(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Resident(ref __self_0),
&NotificationHint::Resident(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SoundFile(ref __self_0),
&NotificationHint::SoundFile(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SoundName(ref __self_0),
&NotificationHint::SoundName(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SuppressSound(ref __self_0),
&NotificationHint::SuppressSound(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Transient(ref __self_0),
&NotificationHint::Transient(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::X(ref __self_0),
&NotificationHint::X(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Y(ref __self_0),
&NotificationHint::Y(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Urgency(ref __self_0),
&NotificationHint::Urgency(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Custom(ref __self_0, ref __self_1),
&NotificationHint::Custom(ref __arg_1_0, ref __arg_1_1)) =>
true && (*__self_0) == (*__arg_1_0) &&
(*__self_1) == (*__arg_1_1),
(&NotificationHint::Invalid, &NotificationHint::Invalid) => true,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { false }
})), id: 1845, rules: DefaultBlock, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, ImplItem { id: 2119, ident: ne#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1202), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2122: self), id: 2121 }, Arg { ty: type(&NotificationHint), pat: pat(2125: __arg_0), id: 2124 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2120, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } } }, Block { stmts: [], expr: Some(expr(2130: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationHint::ActionIcons(ref __self_0),
&NotificationHint::ActionIcons(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Category(ref __self_0),
&NotificationHint::Category(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::DesktopEntry(ref __self_0),
&NotificationHint::DesktopEntry(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::ImagePath(ref __self_0),
&NotificationHint::ImagePath(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Resident(ref __self_0),
&NotificationHint::Resident(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SoundFile(ref __self_0),
&NotificationHint::SoundFile(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SoundName(ref __self_0),
&NotificationHint::SoundName(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SuppressSound(ref __self_0),
&NotificationHint::SuppressSound(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Transient(ref __self_0),
&NotificationHint::Transient(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::X(ref __self_0),
&NotificationHint::X(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Y(ref __self_0),
&NotificationHint::Y(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Urgency(ref __self_0),
&NotificationHint::Urgency(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Custom(ref __self_0, ref __self_1),
&NotificationHint::Custom(ref __arg_1_0, ref __arg_1_1)) =>
false || (*__self_0) != (*__arg_1_0) ||
(*__self_1) != (*__arg_1_1),
(&NotificationHint::Invalid, &NotificationHint::Invalid) => false,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { true }
})), id: 2129, rules: DefaultBlock, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }]), vis: Inherited, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, Item { ident: NotificationHint.::std::cmp::Eq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1207), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, Spanned { node: Attribute_ { id: AttrId(1208), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }]), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }], id: 2406, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2574, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::Eq), ref_id: 2573 }), type(NotificationHint), [ImplItem { id: 2407, ident: assert_receiver_is_total_eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1205), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(1206), style: Outer, value: Spanned { node: MetaList("doc", [Spanned { node: MetaWord("hidden"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2410: self), id: 2409 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2408, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } } }, Block { stmts: [], expr: Some(expr(2414: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Category(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::ImagePath(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Resident(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SoundFile(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SoundName(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Transient(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::X(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Y(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Urgency(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
(*__self_0).assert_receiver_is_total_eq();
(*__self_1).assert_receiver_is_total_eq();
}
(&NotificationHint::Invalid,) => { }
})), id: 2413, rules: DefaultBlock, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }]), vis: Inherited, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, Item { ident: NotificationHint#0, attrs: [], id: 2576, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2678, predicates: [] } }, None, type(NotificationHint), [ImplItem { id: 2577, ident: as_bool#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(114), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `bool` representation of this hint.", CookedStr), span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2580: self), id: 2579 }], output: Return(type(Option<bool>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2578, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(31730), hi: BytePos(31739), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2585: match self {
&NotificationHint::ActionIcons(inner) => Some(inner),
&NotificationHint::Resident(inner) => Some(inner),
&NotificationHint::SuppressSound(inner) => Some(inner),
&NotificationHint::Transient(inner) => Some(inner),
_ => None,
})), id: 2584, rules: DefaultBlock, span: Span { lo: BytePos(31753), hi: BytePos(32085), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31715), hi: BytePos(32085), expn_id: ExpnId(4294967295) } }, ImplItem { id: 2613, ident: as_i32#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(115), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `i32` representation of this hint.", CookedStr), span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2616: self), id: 2615 }], output: Return(type(Option<i32>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2614, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(32156), hi: BytePos(32165), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2621: match self {
&NotificationHint::X(inner) => Some(inner),
&NotificationHint::Y(inner) => Some(inner),
_ => None,
})), id: 2620, rules: DefaultBlock, span: Span { lo: BytePos(32178), hi: BytePos(32350), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32142), hi: BytePos(32350), expn_id: ExpnId(4294967295) } }, ImplItem { id: 2637, ident: as_str#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(116), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `&str` representation of this hint.", CookedStr), span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2640: self), id: 2639 }], output: Return(type(Option<&str>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2638, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(32422), hi: BytePos(32431), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2646: match self {
&NotificationHint::DesktopEntry(ref inner) => Some(&inner),
&NotificationHint::ImagePath(ref inner) => Some(&inner),
&NotificationHint::SoundFile(ref inner) => Some(&inner),
&NotificationHint::SoundName(ref inner) => Some(&inner),
_ => None,
})), id: 2645, rules: DefaultBlock, span: Span { lo: BytePos(32445), hi: BytePos(32785), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32408), hi: BytePos(32785), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(31635), hi: BytePos(32787), expn_id: ExpnId(4294967295) } }, Item { ident: MessageItem.From<&'a NotificationHint>#0, attrs: [], id: 2680, node: ItemImpl(Normal, "positive", Generics { lifetimes: [LifetimeDef { lifetime: lifetime(2851: 'a), bounds: [] }], ty_params: [], where_clause: WhereClause { id: 2852, predicates: [] } }, Some(TraitRef { path: path(From<&'a NotificationHint>), ref_id: 2847 }), type(MessageItem), [ImplItem { id: 2681, ident: from#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(&NotificationHint), pat: pat(2684: hint), id: 2683 }], output: Return(type(MessageItem)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2682, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(32855), hi: BytePos(32882), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(2689: let hint: (String, MessageItem) =
match hint {
&NotificationHint::ActionIcons(value) =>
(ACTION_ICONS.to_owned(), MessageItem::Bool(value)),
&NotificationHint::Category(ref value) =>
(CATEGORY.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::DesktopEntry(ref value) =>
(DESKTOP_ENTRY.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::ImagePath(ref value) =>
(IMAGE_PATH.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::Resident(value) =>
(RESIDENT.to_owned(), MessageItem::Bool(value)),
&NotificationHint::SoundFile(ref value) =>
(SOUND_FILE.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::SoundName(ref value) =>
(SOUND_NAME.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::SuppressSound(value) =>
(SUPPRESS_SOUND.to_owned(), MessageItem::Bool(value)),
&NotificationHint::Transient(value) =>
(TRANSIENT.to_owned(), MessageItem::Bool(value)),
&NotificationHint::X(value) =>
(X.to_owned(), MessageItem::Int32(value)),
&NotificationHint::Y(value) =>
(Y.to_owned(), MessageItem::Int32(value)),
&NotificationHint::Urgency(value) =>
(URGENCY.to_owned(), MessageItem::Byte(value as u8)),
&NotificationHint::Custom(ref key, ref val) =>
(key.to_owned(), MessageItem::Str(val.to_owned())),
&NotificationHint::Invalid =>
("invalid".to_owned(), MessageItem::Str("Invalid".to_owned())),
};)], expr: Some(expr(2832: MessageItem::DictEntry(Box::new(hint.0.into()),
Box::new(MessageItem::Variant(Box::new(hint.1)))))), id: 2688, rules: DefaultBlock, span: Span { lo: BytePos(32895), hi: BytePos(35058), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32847), hi: BytePos(35058), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(32789), hi: BytePos(35060), expn_id: ExpnId(4294967295) } }, Item { ident: NotificationHint.From<&'a MessageItem>#0, attrs: [], id: 2854, node: ItemImpl(Normal, "positive", Generics { lifetimes: [LifetimeDef { lifetime: lifetime(3192: 'a), bounds: [] }], ty_params: [], where_clause: WhereClause { id: 3193, predicates: [] } }, Some(TraitRef { path: path(From<&'a MessageItem>), ref_id: 3188 }), type(NotificationHint), [ImplItem { id: 2855, ident: from#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(2858: item), id: 2857 }], output: Return(type(NotificationHint)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2856, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(35183), hi: BytePos(35205), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2863: match item {
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == CATEGORY =>
NotificationHint::Category(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == ACTION_ICONS =>
NotificationHint::ActionIcons(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == DESKTOP_ENTRY =>
NotificationHint::DesktopEntry(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == IMAGE_PATH =>
NotificationHint::ImagePath(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == RESIDENT =>
NotificationHint::Resident(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SOUND_FILE =>
NotificationHint::SoundFile(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SOUND_NAME =>
NotificationHint::SoundName(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SUPPRESS_SOUND =>
NotificationHint::SuppressSound(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == TRANSIENT =>
NotificationHint::Transient(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == X =>
NotificationHint::X(unwrap_message_int(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == Y =>
NotificationHint::Y(unwrap_message_int(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == URGENCY =>
NotificationHint::Urgency(match unwrap_message_int(&**value) {
0 => NotificationUrgency::Low,
2 => NotificationUrgency::Critical,
_ => NotificationUrgency::Normal,
}),
&MessageItem::DictEntry(ref key, ref value) =>
NotificationHint::Custom(unwrap_message_str(&**key),
unwrap_message_str(&**value)),
foo@_ => {
::std::io::_print(::std::fmt::Arguments::new_v1_formatted({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["Invalid ",
" \n"];
__STATIC_FMTSTR
},
&match (&foo,)
{
(__arg0,)
=>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
},
{
static __STATIC_FMTARGS:
&'static [::std::fmt::rt::v1::Argument]
=
&[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::Next,
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
4u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}];
__STATIC_FMTARGS
}));
NotificationHint::Invalid
}
})), id: 2862, rules: DefaultBlock, span: Span { lo: BytePos(35223), hi: BytePos(37674), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(35174), hi: BytePos(37674), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(35116), hi: BytePos(37677), expn_id: ExpnId(4294967295) } }] }), vis: Public, span: Span { lo: BytePos(2788), hi: BytePos(2802), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [Spanned { node: Attribute_ { id: AttrId(1248), style: Outer, value: Spanned { node: MetaWord("prelude_import"), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }, is_sugared_doc: false }, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }], id: 885, node: ItemUse(Spanned { node: ViewPathGlob(path(std::prelude::v1)), span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(0), hi: BytePos(0), expn_id: ExpnId(216) } }
Item { ident: #0, attrs: [], id: 886, node: ItemUse(Spanned { node: ViewPathSimple(MessageItem#0, path(dbus::MessageItem)), span: Span { lo: BytePos(28705), hi: BytePos(28722), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28701), hi: BytePos(28723), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 887, node: ItemUse(Spanned { node: ViewPathSimple(NotificationUrgency#0, path(super::NotificationUrgency)), span: Span { lo: BytePos(28728), hi: BytePos(28754), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28724), hi: BytePos(28755), expn_id: ExpnId(4294967295) } }
Item { ident: #0, attrs: [], id: 888, node: ItemUse(Spanned { node: ViewPathGlob(path(util)), span: Span { lo: BytePos(28760), hi: BytePos(28768), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(28756), hi: BytePos(28768), expn_id: ExpnId(4294967295) } }
Item { ident: ACTION_ICONS#0, attrs: [], id: 889, node: ItemConst(type(&'static str), expr(893: "action-icons")), vis: Inherited, span: Span { lo: BytePos(28770), hi: BytePos(28821), expn_id: ExpnId(4294967295) } }
Item { ident: CATEGORY#0, attrs: [], id: 894, node: ItemConst(type(&'static str), expr(898: "category")), vis: Inherited, span: Span { lo: BytePos(28822), hi: BytePos(28869), expn_id: ExpnId(4294967295) } }
Item { ident: DESKTOP_ENTRY#0, attrs: [], id: 899, node: ItemConst(type(&'static str), expr(903: "desktop-entry")), vis: Inherited, span: Span { lo: BytePos(28870), hi: BytePos(28922), expn_id: ExpnId(4294967295) } }
Item { ident: IMAGE_PATH#0, attrs: [], id: 904, node: ItemConst(type(&'static str), expr(908: "image-path")), vis: Inherited, span: Span { lo: BytePos(28973), hi: BytePos(29022), expn_id: ExpnId(4294967295) } }
Item { ident: RESIDENT#0, attrs: [], id: 909, node: ItemConst(type(&'static str), expr(913: "resident")), vis: Inherited, span: Span { lo: BytePos(29072), hi: BytePos(29119), expn_id: ExpnId(4294967295) } }
Item { ident: SOUND_FILE#0, attrs: [], id: 914, node: ItemConst(type(&'static str), expr(918: "sound-file")), vis: Inherited, span: Span { lo: BytePos(29120), hi: BytePos(29169), expn_id: ExpnId(4294967295) } }
Item { ident: SOUND_NAME#0, attrs: [], id: 919, node: ItemConst(type(&'static str), expr(923: "sound-name")), vis: Inherited, span: Span { lo: BytePos(29170), hi: BytePos(29219), expn_id: ExpnId(4294967295) } }
Item { ident: SUPPRESS_SOUND#0, attrs: [], id: 924, node: ItemConst(type(&'static str), expr(928: "suppress-sound")), vis: Inherited, span: Span { lo: BytePos(29220), hi: BytePos(29273), expn_id: ExpnId(4294967295) } }
Item { ident: TRANSIENT#0, attrs: [], id: 929, node: ItemConst(type(&'static str), expr(933: "transient")), vis: Inherited, span: Span { lo: BytePos(29274), hi: BytePos(29322), expn_id: ExpnId(4294967295) } }
Item { ident: X#0, attrs: [], id: 934, node: ItemConst(type(&'static str), expr(938: "x")), vis: Inherited, span: Span { lo: BytePos(29323), hi: BytePos(29363), expn_id: ExpnId(4294967295) } }
Item { ident: Y#0, attrs: [], id: 939, node: ItemConst(type(&'static str), expr(943: "y")), vis: Inherited, span: Span { lo: BytePos(29364), hi: BytePos(29404), expn_id: ExpnId(4294967295) } }
Item { ident: URGENCY#0, attrs: [], id: 944, node: ItemConst(type(&'static str), expr(948: "urgency")), vis: Inherited, span: Span { lo: BytePos(29405), hi: BytePos(29451), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHint#0, attrs: [Spanned { node: Attribute_ { id: AttrId(91), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// All currently implemented NotificationHints that can be send.", CookedStr), span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29453), hi: BytePos(29518), expn_id: ExpnId(4294967295) } }], id: 949, node: ItemEnum(EnumDef { variants: [Spanned { node: Variant_ { name: ActionIcons#0, attrs: [Spanned { node: Attribute_ { id: AttrId(93), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// If true, server may interpret action identifiers as named icons and display those.", CookedStr), span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29658), hi: BytePos(29744), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 950, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(29761), hi: BytePos(29766), expn_id: ExpnId(4294967295) } }], 952), disr_expr: None }, span: Span { lo: BytePos(29749), hi: BytePos(29766), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Category#0, attrs: [Spanned { node: Attribute_ { id: AttrId(94), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Check out:", CookedStr), span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29773), hi: BytePos(29787), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(95), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29792), hi: BytePos(29795), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(96), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// * http://www.galago-project.org/specs/notification/0.9/x211.html", CookedStr), span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29800), hi: BytePos(29868), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(97), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// * https://developer.gnome.org/notification-spec/#categories", CookedStr), span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29873), hi: BytePos(29936), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 953, ty: type(String), attrs: [] }, span: Span { lo: BytePos(29950), hi: BytePos(29957), expn_id: ExpnId(4294967295) } }], 955), disr_expr: None }, span: Span { lo: BytePos(29941), hi: BytePos(29957), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: DesktopEntry#0, attrs: [Spanned { node: Attribute_ { id: AttrId(98), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Name of the DesktopEntry representing the calling application. In case of \"firefox.desktop\"", CookedStr), span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(29964), hi: BytePos(30059), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(99), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// use \"firefox\". May be used to retrieve the correct icon.", CookedStr), span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30064), hi: BytePos(30124), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 956, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30142), hi: BytePos(30149), expn_id: ExpnId(4294967295) } }], 958), disr_expr: None }, span: Span { lo: BytePos(30129), hi: BytePos(30149), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: ImagePath#0, attrs: [Spanned { node: Attribute_ { id: AttrId(100), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Display the image at this path.", CookedStr), span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30248), hi: BytePos(30283), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 959, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30298), hi: BytePos(30305), expn_id: ExpnId(4294967295) } }], 961), disr_expr: None }, span: Span { lo: BytePos(30288), hi: BytePos(30305), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Resident#0, attrs: [Spanned { node: Attribute_ { id: AttrId(101), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This does not work on all servers, however timeout=0 will do the job", CookedStr), span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30312), hi: BytePos(30384), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 962, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(30398), hi: BytePos(30403), expn_id: ExpnId(4294967295) } }], 964), disr_expr: None }, span: Span { lo: BytePos(30389), hi: BytePos(30403), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SoundFile#0, attrs: [Spanned { node: Attribute_ { id: AttrId(102), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Play the sound at this path.", CookedStr), span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30410), hi: BytePos(30442), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 965, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30457), hi: BytePos(30464), expn_id: ExpnId(4294967295) } }], 967), disr_expr: None }, span: Span { lo: BytePos(30447), hi: BytePos(30464), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SoundName#0, attrs: [Spanned { node: Attribute_ { id: AttrId(103), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// \tA themeable named sound from the freedesktop.org [sound naming specification](http://0pointer.de/public/sound-naming-spec.html) to play when the notification pops up. Similar to icon-name, only for sounds. An example would be \"message-new-instant\".", CookedStr), span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30471), hi: BytePos(30724), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 968, ty: type(String), attrs: [] }, span: Span { lo: BytePos(30739), hi: BytePos(30746), expn_id: ExpnId(4294967295) } }], 970), disr_expr: None }, span: Span { lo: BytePos(30729), hi: BytePos(30746), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: SuppressSound#0, attrs: [Spanned { node: Attribute_ { id: AttrId(104), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Suppress the notification sound.", CookedStr), span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30753), hi: BytePos(30789), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 971, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(30808), hi: BytePos(30813), expn_id: ExpnId(4294967295) } }], 973), disr_expr: None }, span: Span { lo: BytePos(30794), hi: BytePos(30813), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Transient#0, attrs: [Spanned { node: Attribute_ { id: AttrId(105), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// When set the server will treat the notification as transient and by-pass the server\'s persistence capability, if it should exist. When set the server will treat the notification as transient and by-pass the server\'s persistence capability, if it should exist.", CookedStr), span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(30820), hi: BytePos(31083), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 974, ty: type(bool), attrs: [] }, span: Span { lo: BytePos(31098), hi: BytePos(31103), expn_id: ExpnId(4294967295) } }], 976), disr_expr: None }, span: Span { lo: BytePos(31088), hi: BytePos(31103), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: X#0, attrs: [Spanned { node: Attribute_ { id: AttrId(106), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Lets the notification point to a certain \'x\' position on the screen.", CookedStr), span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31110), hi: BytePos(31182), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(107), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Requires `Y`.", CookedStr), span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31187), hi: BytePos(31204), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 977, ty: type(i32), attrs: [] }, span: Span { lo: BytePos(31211), hi: BytePos(31215), expn_id: ExpnId(4294967295) } }], 979), disr_expr: None }, span: Span { lo: BytePos(31209), hi: BytePos(31215), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Y#0, attrs: [Spanned { node: Attribute_ { id: AttrId(108), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Lets the notification point to a certain \'y\' position on the screen.", CookedStr), span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31222), hi: BytePos(31294), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(109), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Requires `X`.", CookedStr), span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31299), hi: BytePos(31316), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 980, ty: type(i32), attrs: [] }, span: Span { lo: BytePos(31323), hi: BytePos(31327), expn_id: ExpnId(4294967295) } }], 982), disr_expr: None }, span: Span { lo: BytePos(31321), hi: BytePos(31327), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Urgency#0, attrs: [Spanned { node: Attribute_ { id: AttrId(110), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Pass me a NotificationUrgency, either Low, Normal or Critical", CookedStr), span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31334), hi: BytePos(31399), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 983, ty: type(NotificationUrgency), attrs: [] }, span: Span { lo: BytePos(31412), hi: BytePos(31432), expn_id: ExpnId(4294967295) } }], 985), disr_expr: None }, span: Span { lo: BytePos(31404), hi: BytePos(31432), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Custom#0, attrs: [Spanned { node: Attribute_ { id: AttrId(111), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// If you want to pass something entirely different.", CookedStr), span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31439), hi: BytePos(31492), expn_id: ExpnId(4294967295) } }], data: Tuple([Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 986, ty: type(String), attrs: [] }, span: Span { lo: BytePos(31504), hi: BytePos(31511), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: UnnamedField(Inherited), id: 988, ty: type(String), attrs: [] }, span: Span { lo: BytePos(31511), hi: BytePos(31518), expn_id: ExpnId(4294967295) } }], 990), disr_expr: None }, span: Span { lo: BytePos(31497), hi: BytePos(31518), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Invalid#0, attrs: [Spanned { node: Attribute_ { id: AttrId(112), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Only used by this NotificationServer implementation", CookedStr), span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31525), hi: BytePos(31580), expn_id: ExpnId(4294967295) } }], data: Unit(991), disr_expr: None }, span: Span { lo: BytePos(31585), hi: BytePos(31592), expn_id: ExpnId(4294967295) } }] }, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 992, predicates: [] } }), vis: Public, span: Span { lo: BytePos(29564), hi: BytePos(31633), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHint.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1194), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, Spanned { node: Attribute_ { id: AttrId(1195), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }]), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }], id: 993, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1347, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 1346 }), type(NotificationHint), [ImplItem { id: 994, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(997: self), id: 996 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(1000: __arg_0), id: 999 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 995, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } } }, Block { stmts: [], expr: Some(expr(1005: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("ActionIcons");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Category(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Category");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("DesktopEntry");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::ImagePath(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("ImagePath");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Resident(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Resident");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SoundFile(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SoundFile");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SoundName(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SoundName");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("SuppressSound");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Transient(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Transient");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::X(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("X");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Y(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Y");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Urgency(ref __self_0),) => {
let mut builder = __arg_0.debug_tuple("Urgency");
let _ = builder.field(&&(*__self_0));
builder.finish()
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
let mut builder = __arg_0.debug_tuple("Custom");
let _ = builder.field(&&(*__self_0));
let _ = builder.field(&&(*__self_1));
builder.finish()
}
(&NotificationHint::Invalid,) => {
let mut builder = __arg_0.debug_tuple("Invalid");
builder.finish()
}
})), id: 1004, rules: DefaultBlock, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }]), vis: Inherited, span: Span { lo: BytePos(29556), hi: BytePos(29561), expn_id: ExpnId(37) } }
Item { ident: NotificationHint.::std::clone::Clone#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1197), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, Spanned { node: Attribute_ { id: AttrId(1198), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }]), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }], id: 1349, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1530, predicates: [] } }, Some(TraitRef { path: path(::std::clone::Clone), ref_id: 1529 }), type(NotificationHint), [ImplItem { id: 1350, ident: clone#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1196), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1353: self), id: 1352 }], output: Return(type(NotificationHint)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1351, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } } }, Block { stmts: [], expr: Some(expr(1357: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) =>
NotificationHint::ActionIcons(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Category(ref __self_0),) =>
NotificationHint::Category(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::DesktopEntry(ref __self_0),) =>
NotificationHint::DesktopEntry(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::ImagePath(ref __self_0),) =>
NotificationHint::ImagePath(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Resident(ref __self_0),) =>
NotificationHint::Resident(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SoundFile(ref __self_0),) =>
NotificationHint::SoundFile(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SoundName(ref __self_0),) =>
NotificationHint::SoundName(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::SuppressSound(ref __self_0),) =>
NotificationHint::SuppressSound(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Transient(ref __self_0),) =>
NotificationHint::Transient(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::X(ref __self_0),) =>
NotificationHint::X(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Y(ref __self_0),) =>
NotificationHint::Y(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Urgency(ref __self_0),) =>
NotificationHint::Urgency(::std::clone::Clone::clone(&(*__self_0))),
(&NotificationHint::Custom(ref __self_0, ref __self_1),) =>
NotificationHint::Custom(::std::clone::Clone::clone(&(*__self_0)),
::std::clone::Clone::clone(&(*__self_1))),
(&NotificationHint::Invalid,) => NotificationHint::Invalid,
})), id: 1356, rules: DefaultBlock, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }]), vis: Inherited, span: Span { lo: BytePos(29549), hi: BytePos(29554), expn_id: ExpnId(52) } }
Item { ident: NotificationHint.::std::hash::Hash#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1199), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, Spanned { node: Attribute_ { id: AttrId(1200), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }]), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }], id: 1532, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1832, predicates: [] } }, Some(TraitRef { path: path(::std::hash::Hash), ref_id: 1831 }), type(NotificationHint), [ImplItem { id: 1533, ident: hash#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1538: self), id: 1537 }, Arg { ty: type(&mut __H), pat: pat(1541: __arg_0), id: 1540 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: __H#0, id: 1534, bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(::std::hash::Hasher), ref_id: 1535 }, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }, None)], default: None, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 1536, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } } }, Block { stmts: [], expr: Some(expr(1546: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
::std::hash::Hash::hash(&0usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Category(ref __self_0),) => {
::std::hash::Hash::hash(&1usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
::std::hash::Hash::hash(&2usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::ImagePath(ref __self_0),) => {
::std::hash::Hash::hash(&3usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Resident(ref __self_0),) => {
::std::hash::Hash::hash(&4usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SoundFile(ref __self_0),) => {
::std::hash::Hash::hash(&5usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SoundName(ref __self_0),) => {
::std::hash::Hash::hash(&6usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
::std::hash::Hash::hash(&7usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Transient(ref __self_0),) => {
::std::hash::Hash::hash(&8usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::X(ref __self_0),) => {
::std::hash::Hash::hash(&9usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Y(ref __self_0),) => {
::std::hash::Hash::hash(&10usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Urgency(ref __self_0),) => {
::std::hash::Hash::hash(&11usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
::std::hash::Hash::hash(&12usize, __arg_0);
::std::hash::Hash::hash(&(*__self_0), __arg_0);
::std::hash::Hash::hash(&(*__self_1), __arg_0);
}
(&NotificationHint::Invalid,) => {
::std::hash::Hash::hash(&13usize, __arg_0);
}
})), id: 1545, rules: DefaultBlock, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }]), vis: Inherited, span: Span { lo: BytePos(29543), hi: BytePos(29547), expn_id: ExpnId(67) } }
Item { ident: NotificationHint.::std::cmp::PartialEq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1203), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, Spanned { node: Attribute_ { id: AttrId(1204), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }]), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }], id: 1834, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2404, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::PartialEq), ref_id: 2403 }), type(NotificationHint), [ImplItem { id: 1835, ident: eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1201), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(1838: self), id: 1837 }, Arg { ty: type(&NotificationHint), pat: pat(1841: __arg_0), id: 1840 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 1836, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } } }, Block { stmts: [], expr: Some(expr(1846: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationHint::ActionIcons(ref __self_0),
&NotificationHint::ActionIcons(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Category(ref __self_0),
&NotificationHint::Category(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::DesktopEntry(ref __self_0),
&NotificationHint::DesktopEntry(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::ImagePath(ref __self_0),
&NotificationHint::ImagePath(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Resident(ref __self_0),
&NotificationHint::Resident(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SoundFile(ref __self_0),
&NotificationHint::SoundFile(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SoundName(ref __self_0),
&NotificationHint::SoundName(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::SuppressSound(ref __self_0),
&NotificationHint::SuppressSound(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Transient(ref __self_0),
&NotificationHint::Transient(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::X(ref __self_0),
&NotificationHint::X(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Y(ref __self_0),
&NotificationHint::Y(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Urgency(ref __self_0),
&NotificationHint::Urgency(ref __arg_1_0)) =>
true && (*__self_0) == (*__arg_1_0),
(&NotificationHint::Custom(ref __self_0, ref __self_1),
&NotificationHint::Custom(ref __arg_1_0, ref __arg_1_1)) =>
true && (*__self_0) == (*__arg_1_0) &&
(*__self_1) == (*__arg_1_1),
(&NotificationHint::Invalid, &NotificationHint::Invalid) => true,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { false }
})), id: 1845, rules: DefaultBlock, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }, ImplItem { id: 2119, ident: ne#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1202), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2122: self), id: 2121 }, Arg { ty: type(&NotificationHint), pat: pat(2125: __arg_0), id: 2124 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2120, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } } }, Block { stmts: [], expr: Some(expr(2130: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationHint::ActionIcons(ref __self_0),
&NotificationHint::ActionIcons(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Category(ref __self_0),
&NotificationHint::Category(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::DesktopEntry(ref __self_0),
&NotificationHint::DesktopEntry(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::ImagePath(ref __self_0),
&NotificationHint::ImagePath(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Resident(ref __self_0),
&NotificationHint::Resident(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SoundFile(ref __self_0),
&NotificationHint::SoundFile(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SoundName(ref __self_0),
&NotificationHint::SoundName(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::SuppressSound(ref __self_0),
&NotificationHint::SuppressSound(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Transient(ref __self_0),
&NotificationHint::Transient(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::X(ref __self_0),
&NotificationHint::X(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Y(ref __self_0),
&NotificationHint::Y(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Urgency(ref __self_0),
&NotificationHint::Urgency(ref __arg_1_0)) =>
false || (*__self_0) != (*__arg_1_0),
(&NotificationHint::Custom(ref __self_0, ref __self_1),
&NotificationHint::Custom(ref __arg_1_0, ref __arg_1_1)) =>
false || (*__self_0) != (*__arg_1_0) ||
(*__self_1) != (*__arg_1_1),
(&NotificationHint::Invalid, &NotificationHint::Invalid) => false,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { true }
})), id: 2129, rules: DefaultBlock, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }]), vis: Inherited, span: Span { lo: BytePos(29532), hi: BytePos(29541), expn_id: ExpnId(82) } }
Item { ident: NotificationHint.::std::cmp::Eq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1207), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, Spanned { node: Attribute_ { id: AttrId(1208), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }]), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }], id: 2406, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2574, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::Eq), ref_id: 2573 }), type(NotificationHint), [ImplItem { id: 2407, ident: assert_receiver_is_total_eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1205), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(1206), style: Outer, value: Spanned { node: MetaList("doc", [Spanned { node: MetaWord("hidden"), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2410: self), id: 2409 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2408, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } } }, Block { stmts: [], expr: Some(expr(2414: match (&*self,) {
(&NotificationHint::ActionIcons(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Category(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::DesktopEntry(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::ImagePath(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Resident(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SoundFile(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SoundName(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::SuppressSound(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Transient(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::X(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Y(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Urgency(ref __self_0),) => {
(*__self_0).assert_receiver_is_total_eq();
}
(&NotificationHint::Custom(ref __self_0, ref __self_1),) => {
(*__self_0).assert_receiver_is_total_eq();
(*__self_1).assert_receiver_is_total_eq();
}
(&NotificationHint::Invalid,) => { }
})), id: 2413, rules: DefaultBlock, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }]), vis: Inherited, span: Span { lo: BytePos(29528), hi: BytePos(29530), expn_id: ExpnId(139) } }
Item { ident: NotificationHint#0, attrs: [], id: 2576, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2678, predicates: [] } }, None, type(NotificationHint), [ImplItem { id: 2577, ident: as_bool#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(114), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `bool` representation of this hint.", CookedStr), span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(31663), hi: BytePos(31710), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2580: self), id: 2579 }], output: Return(type(Option<bool>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2578, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(31730), hi: BytePos(31739), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2585: match self {
&NotificationHint::ActionIcons(inner) => Some(inner),
&NotificationHint::Resident(inner) => Some(inner),
&NotificationHint::SuppressSound(inner) => Some(inner),
&NotificationHint::Transient(inner) => Some(inner),
_ => None,
})), id: 2584, rules: DefaultBlock, span: Span { lo: BytePos(31753), hi: BytePos(32085), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(31715), hi: BytePos(32085), expn_id: ExpnId(4294967295) } }, ImplItem { id: 2613, ident: as_i32#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(115), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `i32` representation of this hint.", CookedStr), span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(32091), hi: BytePos(32137), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2616: self), id: 2615 }], output: Return(type(Option<i32>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2614, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(32156), hi: BytePos(32165), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2621: match self {
&NotificationHint::X(inner) => Some(inner),
&NotificationHint::Y(inner) => Some(inner),
_ => None,
})), id: 2620, rules: DefaultBlock, span: Span { lo: BytePos(32178), hi: BytePos(32350), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32142), hi: BytePos(32350), expn_id: ExpnId(4294967295) } }, ImplItem { id: 2637, ident: as_str#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(116), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get the `&str` representation of this hint.", CookedStr), span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(32356), hi: BytePos(32403), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(2640: self), id: 2639 }], output: Return(type(Option<&str>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2638, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(32422), hi: BytePos(32431), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2646: match self {
&NotificationHint::DesktopEntry(ref inner) => Some(&inner),
&NotificationHint::ImagePath(ref inner) => Some(&inner),
&NotificationHint::SoundFile(ref inner) => Some(&inner),
&NotificationHint::SoundName(ref inner) => Some(&inner),
_ => None,
})), id: 2645, rules: DefaultBlock, span: Span { lo: BytePos(32445), hi: BytePos(32785), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32408), hi: BytePos(32785), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(31635), hi: BytePos(32787), expn_id: ExpnId(4294967295) } }
Item { ident: MessageItem.From<&'a NotificationHint>#0, attrs: [], id: 2680, node: ItemImpl(Normal, "positive", Generics { lifetimes: [LifetimeDef { lifetime: lifetime(2851: 'a), bounds: [] }], ty_params: [], where_clause: WhereClause { id: 2852, predicates: [] } }, Some(TraitRef { path: path(From<&'a NotificationHint>), ref_id: 2847 }), type(MessageItem), [ImplItem { id: 2681, ident: from#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(&NotificationHint), pat: pat(2684: hint), id: 2683 }], output: Return(type(MessageItem)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2682, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(32855), hi: BytePos(32882), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(2689: let hint: (String, MessageItem) =
match hint {
&NotificationHint::ActionIcons(value) =>
(ACTION_ICONS.to_owned(), MessageItem::Bool(value)),
&NotificationHint::Category(ref value) =>
(CATEGORY.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::DesktopEntry(ref value) =>
(DESKTOP_ENTRY.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::ImagePath(ref value) =>
(IMAGE_PATH.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::Resident(value) =>
(RESIDENT.to_owned(), MessageItem::Bool(value)),
&NotificationHint::SoundFile(ref value) =>
(SOUND_FILE.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::SoundName(ref value) =>
(SOUND_NAME.to_owned(), MessageItem::Str(value.clone())),
&NotificationHint::SuppressSound(value) =>
(SUPPRESS_SOUND.to_owned(), MessageItem::Bool(value)),
&NotificationHint::Transient(value) =>
(TRANSIENT.to_owned(), MessageItem::Bool(value)),
&NotificationHint::X(value) =>
(X.to_owned(), MessageItem::Int32(value)),
&NotificationHint::Y(value) =>
(Y.to_owned(), MessageItem::Int32(value)),
&NotificationHint::Urgency(value) =>
(URGENCY.to_owned(), MessageItem::Byte(value as u8)),
&NotificationHint::Custom(ref key, ref val) =>
(key.to_owned(), MessageItem::Str(val.to_owned())),
&NotificationHint::Invalid =>
("invalid".to_owned(), MessageItem::Str("Invalid".to_owned())),
};)], expr: Some(expr(2832: MessageItem::DictEntry(Box::new(hint.0.into()),
Box::new(MessageItem::Variant(Box::new(hint.1)))))), id: 2688, rules: DefaultBlock, span: Span { lo: BytePos(32895), hi: BytePos(35058), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(32847), hi: BytePos(35058), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(32789), hi: BytePos(35060), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHint.From<&'a MessageItem>#0, attrs: [], id: 2854, node: ItemImpl(Normal, "positive", Generics { lifetimes: [LifetimeDef { lifetime: lifetime(3192: 'a), bounds: [] }], ty_params: [], where_clause: WhereClause { id: 3193, predicates: [] } }, Some(TraitRef { path: path(From<&'a MessageItem>), ref_id: 3188 }), type(NotificationHint), [ImplItem { id: 2855, ident: from#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(&MessageItem), pat: pat(2858: item), id: 2857 }], output: Return(type(NotificationHint)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 2856, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(35183), hi: BytePos(35205), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(2863: match item {
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == CATEGORY =>
NotificationHint::Category(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == ACTION_ICONS =>
NotificationHint::ActionIcons(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == DESKTOP_ENTRY =>
NotificationHint::DesktopEntry(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == IMAGE_PATH =>
NotificationHint::ImagePath(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == RESIDENT =>
NotificationHint::Resident(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SOUND_FILE =>
NotificationHint::SoundFile(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SOUND_NAME =>
NotificationHint::SoundName(unwrap_message_str(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == SUPPRESS_SOUND =>
NotificationHint::SuppressSound(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == TRANSIENT =>
NotificationHint::Transient(unwrap_message_bool(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == X =>
NotificationHint::X(unwrap_message_int(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == Y =>
NotificationHint::Y(unwrap_message_int(&**value)),
&MessageItem::DictEntry(ref key, ref value) if
unwrap_message_str(&**key) == URGENCY =>
NotificationHint::Urgency(match unwrap_message_int(&**value) {
0 => NotificationUrgency::Low,
2 => NotificationUrgency::Critical,
_ => NotificationUrgency::Normal,
}),
&MessageItem::DictEntry(ref key, ref value) =>
NotificationHint::Custom(unwrap_message_str(&**key),
unwrap_message_str(&**value)),
foo@_ => {
::std::io::_print(::std::fmt::Arguments::new_v1_formatted({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["Invalid ",
" \n"];
__STATIC_FMTSTR
},
&match (&foo,)
{
(__arg0,)
=>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
},
{
static __STATIC_FMTARGS:
&'static [::std::fmt::rt::v1::Argument]
=
&[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::Next,
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
4u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}];
__STATIC_FMTARGS
}));
NotificationHint::Invalid
}
})), id: 2862, rules: DefaultBlock, span: Span { lo: BytePos(35223), hi: BytePos(37674), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(35174), hi: BytePos(37674), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(35116), hi: BytePos(37677), expn_id: ExpnId(4294967295) } }
Item { ident: __STATIC_FMTSTR#330, attrs: [], id: 3144, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(3151: &["Invalid ", " \n"])), vis: Inherited, span: Span { lo: BytePos(41345), hi: BytePos(41370), expn_id: ExpnId(156) } }
Item { ident: __STATIC_FMTARGS#330, attrs: [], id: 3171, node: ItemStatic(type(&'static [::std::fmt::rt::v1::Argument]), MutImmutable, expr(3176: &[::std::fmt::rt::v1::Argument{position: ::std::fmt::rt::v1::Position::Next,
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 4u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}])), vis: Inherited, span: Span { lo: BytePos(41190), hi: BytePos(41221), expn_id: ExpnId(156) } }
Item { ident: #0, attrs: [], id: 3195, node: ItemUse(Spanned { node: ViewPathSimple(NotificationHint#0, path(hints::NotificationHint)), span: Span { lo: BytePos(2811), hi: BytePos(2834), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(2803), hi: BytePos(2835), expn_id: ExpnId(4294967295) } }
Item { ident: Notification#0, attrs: [Spanned { node: Attribute_ { id: AttrId(121), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Desktop notification.", CookedStr), span: Span { lo: BytePos(2839), hi: BytePos(2864), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(2839), hi: BytePos(2864), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(2839), hi: BytePos(2864), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(122), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(2865), hi: BytePos(2868), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(2865), hi: BytePos(2868), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(2865), hi: BytePos(2868), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(123), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// A desktop notification is configured via builder pattern, before it is launched with `show()`.", CookedStr), span: Span { lo: BytePos(2869), hi: BytePos(2967), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(2869), hi: BytePos(2967), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(2869), hi: BytePos(2967), expn_id: ExpnId(4294967295) } }], id: 3196, node: ItemStruct(Struct([Spanned { node: StructField_ { kind: NamedField(appname#0, Public), id: 3197, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(125), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Filled by default with executable name.", CookedStr), span: Span { lo: BytePos(3021), hi: BytePos(3064), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3021), hi: BytePos(3064), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3021), hi: BytePos(3064), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3069), hi: BytePos(3088), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(summary#0, Public), id: 3199, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(126), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Single line to summarize the content.", CookedStr), span: Span { lo: BytePos(3094), hi: BytePos(3135), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3094), hi: BytePos(3135), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3094), hi: BytePos(3135), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3140), hi: BytePos(3159), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(body#0, Public), id: 3201, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(127), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Multiple lines possible, may support simple markup,", CookedStr), span: Span { lo: BytePos(3165), hi: BytePos(3220), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3165), hi: BytePos(3220), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3165), hi: BytePos(3220), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(128), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// checkout `get_capabilities()` -> `body-markup` and `body-hyperlinks`.", CookedStr), span: Span { lo: BytePos(3225), hi: BytePos(3298), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3225), hi: BytePos(3298), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3225), hi: BytePos(3298), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3303), hi: BytePos(3322), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(icon#0, Public), id: 3203, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(129), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Use a file:// URI or a name in an icon theme, must be compliant freedesktop.org.", CookedStr), span: Span { lo: BytePos(3328), hi: BytePos(3412), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3328), hi: BytePos(3412), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3328), hi: BytePos(3412), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3417), hi: BytePos(3436), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(hints#0, Public), id: 3205, ty: type(HashSet<NotificationHint>), attrs: [Spanned { node: Attribute_ { id: AttrId(130), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Checkout `NotificationHint`", CookedStr), span: Span { lo: BytePos(3442), hi: BytePos(3473), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3442), hi: BytePos(3473), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3442), hi: BytePos(3473), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3478), hi: BytePos(3516), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(actions#0, Public), id: 3208, ty: type(Vec<String>), attrs: [Spanned { node: Attribute_ { id: AttrId(131), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// See `Notification::actions()` and `Notification::action()`", CookedStr), span: Span { lo: BytePos(3522), hi: BytePos(3584), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3522), hi: BytePos(3584), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3522), hi: BytePos(3584), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3589), hi: BytePos(3613), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(timeout#0, Public), id: 3211, ty: type(i32), attrs: [Spanned { node: Attribute_ { id: AttrId(132), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Lifetime of the Notification in ms. Often not respected by server, sorry.", CookedStr), span: Span { lo: BytePos(3619), hi: BytePos(3696), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3619), hi: BytePos(3696), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3619), hi: BytePos(3696), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(133), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// -1 -> expires according server default", CookedStr), span: Span { lo: BytePos(3701), hi: BytePos(3743), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3701), hi: BytePos(3743), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3701), hi: BytePos(3743), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(134), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// 0 -> expires never", CookedStr), span: Span { lo: BytePos(3748), hi: BytePos(3770), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3748), hi: BytePos(3770), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3748), hi: BytePos(3770), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3775), hi: BytePos(3791), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(id#0, Inherited), id: 3213, ty: type(Option<u32>), attrs: [Spanned { node: Attribute_ { id: AttrId(135), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Only to be used on the receive end. Use Notification hand for updating.", CookedStr), span: Span { lo: BytePos(3840), hi: BytePos(3915), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3840), hi: BytePos(3915), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3840), hi: BytePos(3915), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(3920), hi: BytePos(3935), expn_id: ExpnId(4294967295) } }], 3216), Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3217, predicates: [] } }), vis: Public, span: Span { lo: BytePos(2991), hi: BytePos(3937), expn_id: ExpnId(4294967295) } }
Item { ident: Notification.::std::clone::Clone#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1212), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }, is_sugared_doc: false }, span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }, Spanned { node: Attribute_ { id: AttrId(1213), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }]), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }, is_sugared_doc: false }, span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }], id: 3218, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3288, predicates: [] } }, Some(TraitRef { path: path(::std::clone::Clone), ref_id: 3287 }), type(Notification), [ImplItem { id: 3219, ident: clone#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1211), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3222: self), id: 3221 }], output: Return(type(Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3220, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } } }, Block { stmts: [], expr: Some(expr(3226: match *self {
Notification {
appname: ref __self_0_0,
summary: ref __self_0_1,
body: ref __self_0_2,
icon: ref __self_0_3,
hints: ref __self_0_4,
actions: ref __self_0_5,
timeout: ref __self_0_6,
id: ref __self_0_7 } =>
Notification{appname: ::std::clone::Clone::clone(&(*__self_0_0)),
summary: ::std::clone::Clone::clone(&(*__self_0_1)),
body: ::std::clone::Clone::clone(&(*__self_0_2)),
icon: ::std::clone::Clone::clone(&(*__self_0_3)),
hints: ::std::clone::Clone::clone(&(*__self_0_4)),
actions: ::std::clone::Clone::clone(&(*__self_0_5)),
timeout: ::std::clone::Clone::clone(&(*__self_0_6)),
id: ::std::clone::Clone::clone(&(*__self_0_7)),},
})), id: 3225, rules: DefaultBlock, span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }]), vis: Inherited, span: Span { lo: BytePos(2983), hi: BytePos(2988), expn_id: ExpnId(159) } }
Item { ident: Notification.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1214), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }, is_sugared_doc: false }, span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }, Spanned { node: Attribute_ { id: AttrId(1215), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }]), span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }, is_sugared_doc: false }, span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }], id: 3290, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3413, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 3412 }), type(Notification), [ImplItem { id: 3291, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3294: self), id: 3293 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(3297: __arg_0), id: 3296 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3292, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } } }, Block { stmts: [], expr: Some(expr(3302: match *self {
Notification {
appname: ref __self_0_0,
summary: ref __self_0_1,
body: ref __self_0_2,
icon: ref __self_0_3,
hints: ref __self_0_4,
actions: ref __self_0_5,
timeout: ref __self_0_6,
id: ref __self_0_7 } => {
let mut builder = __arg_0.debug_struct("Notification");
let _ = builder.field("appname", &&(*__self_0_0));
let _ = builder.field("summary", &&(*__self_0_1));
let _ = builder.field("body", &&(*__self_0_2));
let _ = builder.field("icon", &&(*__self_0_3));
let _ = builder.field("hints", &&(*__self_0_4));
let _ = builder.field("actions", &&(*__self_0_5));
let _ = builder.field("timeout", &&(*__self_0_6));
let _ = builder.field("id", &&(*__self_0_7));
builder.finish()
}
})), id: 3301, rules: DefaultBlock, span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }]), vis: Inherited, span: Span { lo: BytePos(2977), hi: BytePos(2982), expn_id: ExpnId(168) } }
Item { ident: Notification#0,
attrs: [],
id: 3415,
node: ItemImpl(
Normal,
"positive",
Generics { lifetimes: [],
ty_params: [],
where_clause: WhereClause { id: 4059,
predicates: [] } },
None,
type(Notification),
[
ImplItem {
id: 3416, ident: new#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(137), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Constructs a new Notification.", CookedStr), span: Span { lo: BytePos(3963), hi: BytePos(3997), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(3963), hi: BytePos(3997), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(3963), hi: BytePos(3997), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(138), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(4002), hi: BytePos(4005), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4002), hi: BytePos(4005), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4002), hi: BytePos(4005), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(139), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Most fields are empty by default, only `appname` is initialized with the name of the current", CookedStr), span: Span { lo: BytePos(4010), hi: BytePos(4106), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4010), hi: BytePos(4106), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4010), hi: BytePos(4106), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(140), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// executable.", CookedStr), span: Span { lo: BytePos(4111), hi: BytePos(4126), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4111), hi: BytePos(4126), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4111), hi: BytePos(4126), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(141), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The appname is used by some desktop environments to group notifications.", CookedStr), span: Span { lo: BytePos(4131), hi: BytePos(4207), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4131), hi: BytePos(4207), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4131), hi: BytePos(4207), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [], output: Return(type(Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3417, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(4223), hi: BytePos(4227), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(3420: Notification{appname: exe_name(), summary: String::new(), body: String::new(), icon: String::new(), hints: HashSet::new(), actions: Vec::new(), timeout: -1, id: None,})),
id: 3419, rules: DefaultBlock, span: Span { lo: BytePos(4241), hi: BytePos(4551), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4212), hi: BytePos(4551), expn_id: ExpnId(4294967295) } },
/// HENDRIK WAS HERE
ImplItem {
id: 3436, ident: appname#0, vis: Public, attrs: [
Spanned { node: Attribute_ { id: AttrId(142), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Overwrite the appname field used for Notification.", CookedStr), span: Span { lo: BytePos(4557), hi: BytePos(4611), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4557), hi: BytePos(4611), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4557), hi: BytePos(4611), expn_id: ExpnId(4294967295) } }
],
node: Method(
MethodSig {
unsafety: Normal,
constness: NotConst,
abi: Rust,
decl: FnDecl {
inputs: [
Arg { ty: type(_), pat: pat(3439: self), id: 3438 },
Arg { ty: type(&str), pat: pat(3442: appname), id: 3441 }
],
output: Return(type(&mut Notification)), variadic: false
},
generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3437, predicates: [] } },
explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(4631), hi: BytePos(4658), expn_id: ExpnId(4294967295) } }
},
Block { stmts: [stmt(3448: self.appname = appname.to_owned();)], expr: Some(expr(3454: self)), id: 3447, rules: DefaultBlock, span: Span { lo: BytePos(4677), hi: BytePos(4740), expn_id: ExpnId(4294967295) } }
),
span: Span { lo: BytePos(4616), hi: BytePos(4740), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3455, ident: summary#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(143), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set the `summary`.", CookedStr), span: Span { lo: BytePos(4746), hi: BytePos(4768), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4746), hi: BytePos(4768), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4746), hi: BytePos(4768), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(144), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(4773), hi: BytePos(4776), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4773), hi: BytePos(4776), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4773), hi: BytePos(4776), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(145), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Often acts as title of the notification. For more elaborate content use the `body` field.", CookedStr), span: Span { lo: BytePos(4781), hi: BytePos(4874), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4781), hi: BytePos(4874), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(4781), hi: BytePos(4874), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3458: self), id: 3457 }, Arg { ty: type(&str), pat: pat(3461: summary), id: 3460 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3456, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(4894), hi: BytePos(4921), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3467: self.summary = summary.to_owned();)], expr: Some(expr(3473: self)), id: 3466, rules: DefaultBlock, span: Span { lo: BytePos(4940), hi: BytePos(5003), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(4879), hi: BytePos(5003), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3474, ident: body#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(146), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set the content of the `body` field.", CookedStr), span: Span { lo: BytePos(5009), hi: BytePos(5049), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5009), hi: BytePos(5049), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5009), hi: BytePos(5049), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(147), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(5054), hi: BytePos(5057), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5054), hi: BytePos(5057), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5054), hi: BytePos(5057), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(148), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Multiline textual content of the notification.", CookedStr), span: Span { lo: BytePos(5062), hi: BytePos(5112), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5062), hi: BytePos(5112), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5062), hi: BytePos(5112), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(149), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Each line should be treated as a paragraph.", CookedStr), span: Span { lo: BytePos(5117), hi: BytePos(5164), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5117), hi: BytePos(5164), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5117), hi: BytePos(5164), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(150), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Simple html markup should be supported, depending on the server implementation.", CookedStr), span: Span { lo: BytePos(5169), hi: BytePos(5252), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5169), hi: BytePos(5252), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5169), hi: BytePos(5252), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3477: self), id: 3476 }, Arg { ty: type(&str), pat: pat(3480: body), id: 3479 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3475, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(5269), hi: BytePos(5293), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3486: self.body = body.to_owned();)], expr: Some(expr(3492: self)), id: 3485, rules: DefaultBlock, span: Span { lo: BytePos(5312), hi: BytePos(5369), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5257), hi: BytePos(5369), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3493, ident: icon#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(151), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set the `icon` field.", CookedStr), span: Span { lo: BytePos(5375), hi: BytePos(5400), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5375), hi: BytePos(5400), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5375), hi: BytePos(5400), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(152), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(5405), hi: BytePos(5408), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5405), hi: BytePos(5408), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5405), hi: BytePos(5408), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(153), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// You can use common icon names here, usually those in `/usr/share/icons`", CookedStr), span: Span { lo: BytePos(5413), hi: BytePos(5488), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5413), hi: BytePos(5488), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5413), hi: BytePos(5488), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(154), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// can all be used.", CookedStr), span: Span { lo: BytePos(5493), hi: BytePos(5513), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5493), hi: BytePos(5513), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5493), hi: BytePos(5513), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(155), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// You can also use an absolute path to file.", CookedStr), span: Span { lo: BytePos(5518), hi: BytePos(5564), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5518), hi: BytePos(5564), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5518), hi: BytePos(5564), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3496: self), id: 3495 }, Arg { ty: type(&str), pat: pat(3499: icon), id: 3498 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3494, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(5581), hi: BytePos(5605), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3505: self.icon = icon.to_owned();)], expr: Some(expr(3511: self)), id: 3504, rules: DefaultBlock, span: Span { lo: BytePos(5624), hi: BytePos(5681), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5569), hi: BytePos(5681), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3512, ident: hint#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(156), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Adds a hint.", CookedStr), span: Span { lo: BytePos(5687), hi: BytePos(5703), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5687), hi: BytePos(5703), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5687), hi: BytePos(5703), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(157), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(5708), hi: BytePos(5711), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5708), hi: BytePos(5711), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5708), hi: BytePos(5711), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(158), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This method will add a hint to the internal hint hashset.", CookedStr), span: Span { lo: BytePos(5716), hi: BytePos(5777), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5716), hi: BytePos(5777), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5716), hi: BytePos(5777), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(159), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Hints must be of type NotificationHint.", CookedStr), span: Span { lo: BytePos(5782), hi: BytePos(5825), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5782), hi: BytePos(5825), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5782), hi: BytePos(5825), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(160), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(5830), hi: BytePos(5833), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5830), hi: BytePos(5833), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5830), hi: BytePos(5833), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(161), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// ```no_run", CookedStr), span: Span { lo: BytePos(5838), hi: BytePos(5851), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5838), hi: BytePos(5851), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5838), hi: BytePos(5851), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(162), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// # use notify_rust::Notification;", CookedStr), span: Span { lo: BytePos(5856), hi: BytePos(5892), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5856), hi: BytePos(5892), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5856), hi: BytePos(5892), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(163), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// # use notify_rust::NotificationHint;", CookedStr), span: Span { lo: BytePos(5897), hi: BytePos(5937), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5897), hi: BytePos(5937), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5897), hi: BytePos(5937), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(164), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Notification::new()", CookedStr), span: Span { lo: BytePos(5942), hi: BytePos(5965), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5942), hi: BytePos(5965), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5942), hi: BytePos(5965), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(165), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .summary(\"Category:email\")", CookedStr), span: Span { lo: BytePos(5970), hi: BytePos(6004), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(5970), hi: BytePos(6004), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(5970), hi: BytePos(6004), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(166), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .body(\"This should not go away until you acknoledge it.\")", CookedStr), span: Span { lo: BytePos(6009), hi: BytePos(6074), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6009), hi: BytePos(6074), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6009), hi: BytePos(6074), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(167), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .icon(\"thunderbird\")", CookedStr), span: Span { lo: BytePos(6079), hi: BytePos(6107), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6079), hi: BytePos(6107), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6079), hi: BytePos(6107), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(168), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .appname(\"thunderbird\")", CookedStr), span: Span { lo: BytePos(6112), hi: BytePos(6143), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6112), hi: BytePos(6143), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6112), hi: BytePos(6143), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(169), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .hint(NotificationHint::Category(\"email\".to_owned()))", CookedStr), span: Span { lo: BytePos(6148), hi: BytePos(6209), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6148), hi: BytePos(6209), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6148), hi: BytePos(6209), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(170), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .hint(NotificationHint::Resident(true))", CookedStr), span: Span { lo: BytePos(6214), hi: BytePos(6261), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6214), hi: BytePos(6261), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6214), hi: BytePos(6261), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(171), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .show();", CookedStr), span: Span { lo: BytePos(6266), hi: BytePos(6282), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6266), hi: BytePos(6282), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6266), hi: BytePos(6282), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(172), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// ```", CookedStr), span: Span { lo: BytePos(6287), hi: BytePos(6294), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6287), hi: BytePos(6294), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6287), hi: BytePos(6294), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(173), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(6299), hi: BytePos(6302), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6299), hi: BytePos(6302), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6299), hi: BytePos(6302), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(174), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(6307), hi: BytePos(6310), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6307), hi: BytePos(6310), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6307), hi: BytePos(6310), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3515: self), id: 3514 }, Arg { ty: type(NotificationHint), pat: pat(3518: hint), id: 3517 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3513, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(6327), hi: BytePos(6363), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3523: self.hints.insert(hint);)], expr: Some(expr(3528: self)), id: 3522, rules: DefaultBlock, span: Span { lo: BytePos(6382), hi: BytePos(6435), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6315), hi: BytePos(6435), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3529, ident: timeout#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(175), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set the `timeout`.", CookedStr), span: Span { lo: BytePos(6441), hi: BytePos(6463), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6441), hi: BytePos(6463), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6441), hi: BytePos(6463), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(176), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(6468), hi: BytePos(6471), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6468), hi: BytePos(6471), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6468), hi: BytePos(6471), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(177), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This sets the time (in miliseconds) from the time the notification is displayed until it is", CookedStr), span: Span { lo: BytePos(6476), hi: BytePos(6571), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6476), hi: BytePos(6571), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6476), hi: BytePos(6571), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(178), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// closed again by the Notification Server.", CookedStr), span: Span { lo: BytePos(6576), hi: BytePos(6620), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6576), hi: BytePos(6620), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6576), hi: BytePos(6620), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(179), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// According to [specification](https://developer.gnome.org/notification-spec/)", CookedStr), span: Span { lo: BytePos(6625), hi: BytePos(6705), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6625), hi: BytePos(6705), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6625), hi: BytePos(6705), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(180), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// -1 will leave the timeout to be set by the server and", CookedStr), span: Span { lo: BytePos(6710), hi: BytePos(6767), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6710), hi: BytePos(6767), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6710), hi: BytePos(6767), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(181), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// 0 will cause the notification never to expire.", CookedStr), span: Span { lo: BytePos(6772), hi: BytePos(6822), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6772), hi: BytePos(6822), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6772), hi: BytePos(6822), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3532: self), id: 3531 }, Arg { ty: type(i32), pat: pat(3535: timeout), id: 3534 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3530, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(6842), hi: BytePos(6869), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3540: self.timeout = timeout;)], expr: Some(expr(3545: self)), id: 3539, rules: DefaultBlock, span: Span { lo: BytePos(6888), hi: BytePos(6940), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6827), hi: BytePos(6940), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3546, ident: urgency#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(182), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set the `urgency`.", CookedStr), span: Span { lo: BytePos(6946), hi: BytePos(6968), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6946), hi: BytePos(6968), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6946), hi: BytePos(6968), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(183), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(6973), hi: BytePos(6976), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6973), hi: BytePos(6976), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6973), hi: BytePos(6976), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(184), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Pick between Medium, Low and High.", CookedStr), span: Span { lo: BytePos(6981), hi: BytePos(7019), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(6981), hi: BytePos(7019), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(6981), hi: BytePos(7019), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3549: self), id: 3548 }, Arg { ty: type(NotificationUrgency), pat: pat(3552: urgency), id: 3551 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3547, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(7039), hi: BytePos(7082), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3557: self.hint(NotificationHint::Urgency(urgency));)], expr: Some(expr(3563: self)), id: 3556, rules: DefaultBlock, span: Span { lo: BytePos(7101), hi: BytePos(7179), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7024), hi: BytePos(7179), expn_id: ExpnId(4294967295) } },
ImplItem { id: 3564, ident: actions#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(185), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Set `actions`.", CookedStr), span: Span { lo: BytePos(7185), hi: BytePos(7203), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7185), hi: BytePos(7203), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7185), hi: BytePos(7203), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(186), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(7208), hi: BytePos(7211), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7208), hi: BytePos(7211), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7208), hi: BytePos(7211), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(187), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// To quote http://www.galago-project.org/specs/notification/0.9/x408.html#command-notify", CookedStr), span: Span { lo: BytePos(7216), hi: BytePos(7306), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7216), hi: BytePos(7306), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7216), hi: BytePos(7306), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(188), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(7311), hi: BytePos(7314), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7311), hi: BytePos(7314), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7311), hi: BytePos(7314), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(189), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// > Actions are sent over as a list of pairs.", CookedStr), span: Span { lo: BytePos(7319), hi: BytePos(7367), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7319), hi: BytePos(7367), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7319), hi: BytePos(7367), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(190), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// > Each even element in the list (starting at index 0) represents the identifier for the action.", CookedStr), span: Span { lo: BytePos(7372), hi: BytePos(7472), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7372), hi: BytePos(7472), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7372), hi: BytePos(7472), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(191), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// > Each odd element in the list is the localized string that will be displayed to the user.", CookedStr), span: Span { lo: BytePos(7477), hi: BytePos(7572), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7477), hi: BytePos(7572), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7477), hi: BytePos(7572), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(192), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(7577), hi: BytePos(7580), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7577), hi: BytePos(7580), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7577), hi: BytePos(7580), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(193), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// There is nothing fancy going on here yet.", CookedStr), span: Span { lo: BytePos(7585), hi: BytePos(7630), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7585), hi: BytePos(7630), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7585), hi: BytePos(7630), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(194), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// **Carefull! This replaces the internal list of actions!**", CookedStr), span: Span { lo: BytePos(7635), hi: BytePos(7696), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7635), hi: BytePos(7696), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7635), hi: BytePos(7696), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3567: self), id: 3566 }, Arg { ty: type(Vec<String>), pat: pat(3570: actions), id: 3569 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3565, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(7716), hi: BytePos(7750), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3576: self.actions = actions;)], expr: Some(expr(3581: self)), id: 3575, rules: DefaultBlock, span: Span { lo: BytePos(7769), hi: BytePos(7821), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7701), hi: BytePos(7821), expn_id: ExpnId(4294967295) } },
ImplItem {
id: 3582, ident: action#0,
vis: Public,
attrs: [Spanned { node: Attribute_ { id: AttrId(195), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Add an action.", CookedStr), span: Span { lo: BytePos(7827), hi: BytePos(7845), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7827), hi: BytePos(7845), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7827), hi: BytePos(7845), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(196), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(7850), hi: BytePos(7853), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7850), hi: BytePos(7853), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7850), hi: BytePos(7853), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(197), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This adds a single action to the internal list of actions.", CookedStr), span: Span { lo: BytePos(7858), hi: BytePos(7920), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(7858), hi: BytePos(7920), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(7858), hi: BytePos(7920), expn_id: ExpnId(4294967295) } }],
node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3585: self), id: 3584 }, Arg { ty: type(&str), pat: pat(3588: identifier), id: 3587 }, Arg { ty: type(&str), pat: pat(3592: label), id: 3591 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3583, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(7939), hi: BytePos(7981), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3598: self.actions.push(identifier.to_owned());), stmt(3604: self.actions.push(label.to_owned());)], expr: Some(expr(3610: self)), id: 3597, rules: DefaultBlock, span: Span { lo: BytePos(8000), hi: BytePos(8115), expn_id: ExpnId(4294967295) } }),
span: Span { lo: BytePos(7925), hi: BytePos(8115), expn_id: ExpnId(4294967295) }
},
ImplItem {
id: 3611,
ident: finalize#0,
vis: Public,
attrs: [Spanned {
node: Attribute_ { id: AttrId(198), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Finalizes a Notification.", CookedStr), span: Span { lo: BytePos(8121), hi: BytePos(8150), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(8121), hi: BytePos(8150), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(8121), hi: BytePos(8150), expn_id: ExpnId(4294967295) }
}, Spanned { node: Attribute_ { id: AttrId(199), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(8155), hi: BytePos(8158), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(8155), hi: BytePos(8158), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(8155), hi: BytePos(8158), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(200), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Part of the builder pattern, returns a complete copy of the built notification.", CookedStr), span: Span { lo: BytePos(8163), hi: BytePos(8246), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(8163), hi: BytePos(8246), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(8163), hi: BytePos(8246), expn_id: ExpnId(4294967295) } }],
node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3614: self), id: 3613 }], output: Return(type(Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3612, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(8267), hi: BytePos(8276), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(3618: Notification{appname: self.appname.clone(),
summary: self.summary.clone(),
body: self.body.clone(),
icon: self.icon.clone(),
hints: self.hints.clone(),
actions: self.actions.clone(),
timeout: self.timeout.clone(),
id: self.id.clone(),})), id: 3617, rules: DefaultBlock, span: Span { lo: BytePos(8290), hi: BytePos(8668), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(8251), hi: BytePos(8668), expn_id: ExpnId(4294967295) }
},
ImplItem { id: 3643, ident: pack_hints#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3646: self), id: 3645 }], output: Return(type(MessageItem)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3644, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(8688), hi: BytePos(8697), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3650: if !self.hints.is_empty() {
let hints: Vec<MessageItem> =
self.hints.iter().map(|hint| hint.into()).collect();
if let Ok(array) = MessageItem::new_array(hints) { return array; }
}), stmt(3684: let sig = Cow::Borrowed("{sv}");), stmt(3690: return MessageItem::Array(<[_]>::into_vec(::std::boxed::Box::new([])), sig);)], expr: None, id: 3649, rules: DefaultBlock, span: Span { lo: BytePos(8710), hi: BytePos(9106), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(8674), hi: BytePos(9106), expn_id: ExpnId(4294967295) } }, ImplItem { id: 3702, ident: pack_actions#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3705: self), id: 3704 }], output: Return(type(MessageItem)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3703, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(9128), hi: BytePos(9137), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3709: if !self.actions.is_empty() {
let mut actions = <[_]>::into_vec(::std::boxed::Box::new([]));
for action in self.actions.iter() {
actions.push(action.to_owned().into());
}
if let Ok(array) = MessageItem::new_array(actions) { return array; }
}), stmt(3749: let sig = Cow::Borrowed("s");), stmt(3755: return MessageItem::Array(<[_]>::into_vec(::std::boxed::Box::new([])), sig);)], expr: None, id: 3708, rules: DefaultBlock, span: Span { lo: BytePos(9150), hi: BytePos(9606), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9112), hi: BytePos(9606), expn_id: ExpnId(4294967295) } }, ImplItem { id: 3767, ident: show#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(201), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Sends Notification to D-Bus.", CookedStr), span: Span { lo: BytePos(9612), hi: BytePos(9644), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9612), hi: BytePos(9644), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(9612), hi: BytePos(9644), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(202), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(9649), hi: BytePos(9652), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9649), hi: BytePos(9652), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(9649), hi: BytePos(9652), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(203), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Returns a handle to a notification", CookedStr), span: Span { lo: BytePos(9657), hi: BytePos(9695), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9657), hi: BytePos(9695), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(9657), hi: BytePos(9695), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3770: self), id: 3769 }], output: Return(type(Result<NotificationHandle, Error>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3768, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(9712), hi: BytePos(9725), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3776: let connection =
match Connection::get_private(BusType::Session) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};), stmt(3796: let id =
match self._show(0, &connection) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};)], expr: Some(expr(3818: Ok(NotificationHandle::new(id, connection, self.clone())))), id: 3775, rules: DefaultBlock, span: Span { lo: BytePos(9760), hi: BytePos(9958), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9700), hi: BytePos(9958), expn_id: ExpnId(4294967295) } }, ImplItem { id: 3826, ident: _show#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3829: self), id: 3828 }, Arg { ty: type(u32), pat: pat(3832: id), id: 3831 }, Arg { ty: type(&Connection), pat: pat(3835: connection), id: 3834 }], output: Return(type(Result<u32, Error>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3827, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(9973), hi: BytePos(10019), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3842: let mut message = build_message("Notify");), stmt(3848: message.append_items(&[self.appname.to_owned().into(), id.into(),
self.icon.to_owned().into(),
self.summary.to_owned().into(),
self.body.to_owned().into(),
self.pack_actions().into(), self.pack_hints().into(),
self.timeout.into()]);), stmt(3880: let reply =
match connection.send_with_reply_and_block(message, 2000) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};)], expr: Some(expr(3901: match reply.get_items().get(0) {
Some(&MessageItem::UInt32(ref id)) => Ok(*id),
_ => Ok(0),
})), id: 3841, rules: DefaultBlock, span: Span { lo: BytePos(10039), hi: BytePos(10974), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(9964), hi: BytePos(10974), expn_id: ExpnId(4294967295) } }, ImplItem { id: 3918, ident: show_debug#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(204), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Wraps show() but prints notification to stdout.", CookedStr), span: Span { lo: BytePos(10980), hi: BytePos(11031), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(10980), hi: BytePos(11031), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(10980), hi: BytePos(11031), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(3921: self), id: 3920 }], output: Return(type(Result<NotificationHandle, Error>)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 3919, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(11054), hi: BytePos(11067), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(3927: ::std::io::_print(::std::fmt::Arguments::new_v1_formatted({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["Notification:\n",
": (",
") ", " ",
"\nhints: [",
"]\n\n"];
__STATIC_FMTSTR
},
&match (&self.appname,
&self.summary,
&self.body,
&self.hints,
&self.icon)
{
(__argappname,
__argsummary,
__argbody,
__arghints,
__argicon) =>
[::std::fmt::ArgumentV1::new(__argappname,
::std::fmt::Display::fmt),
::std::fmt::ArgumentV1::new(__argicon,
::std::fmt::Display::fmt),
::std::fmt::ArgumentV1::new(__argsummary,
::std::fmt::Debug::fmt),
::std::fmt::ArgumentV1::new(__argbody,
::std::fmt::Debug::fmt),
::std::fmt::ArgumentV1::new(__arghints,
::std::fmt::Debug::fmt)],
},
{
static __STATIC_FMTARGS:
&'static [::std::fmt::rt::v1::Argument]
=
&[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(0usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(1usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(2usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(3usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(4usize),
format:
::std::fmt::rt::v1::FormatSpec{fill:
' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags:
0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}];
__STATIC_FMTARGS
}));)], expr: Some(expr(4057: self.show())), id: 3926, rules: DefaultBlock, span: Span { lo: BytePos(11102), hi: BytePos(11401), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11036), hi: BytePos(11401), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(3939), hi: BytePos(11403), expn_id: ExpnId(4294967295) } }
Item { ident: __STATIC_FMTSTR#421, attrs: [], id: 3935, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(3942: &["Notification:\n", ": (", ") ", " ", "\nhints: [", "]\n\n"])), vis: Inherited, span: Span { lo: BytePos(41345), hi: BytePos(41370), expn_id: ExpnId(185) } }
Item { ident: __STATIC_FMTARGS#421, attrs: [], id: 3999, node: ItemStatic(type(&'static [::std::fmt::rt::v1::Argument]), MutImmutable, expr(4004: &[::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(0usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(1usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(2usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(3usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},},
::std::fmt::rt::v1::Argument{position:
::std::fmt::rt::v1::Position::At(4usize),
format:
::std::fmt::rt::v1::FormatSpec{fill: ' ',
align:
::std::fmt::rt::v1::Alignment::Unknown,
flags: 0u32,
precision:
::std::fmt::rt::v1::Count::Implied,
width:
::std::fmt::rt::v1::Count::Implied,},}])), vis: Inherited, span: Span { lo: BytePos(41190), hi: BytePos(41221), expn_id: ExpnId(185) } }
Item { ident: NotificationHandle#0, attrs: [Spanned { node: Attribute_ { id: AttrId(205), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// A handle to a shown notification.", CookedStr), span: Span { lo: BytePos(11408), hi: BytePos(11445), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11408), hi: BytePos(11445), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(11408), hi: BytePos(11445), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(206), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(11446), hi: BytePos(11449), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11446), hi: BytePos(11449), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(11446), hi: BytePos(11449), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(207), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This keeps a connection alive to ensure actions work on certain desktops.", CookedStr), span: Span { lo: BytePos(11450), hi: BytePos(11527), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11450), hi: BytePos(11527), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(11450), hi: BytePos(11527), expn_id: ExpnId(4294967295) } }], id: 4061, node: ItemStruct(Struct([Spanned { node: StructField_ { kind: NamedField(id#0, Inherited), id: 4062, ty: type(u32), attrs: [] }, span: Span { lo: BytePos(11581), hi: BytePos(11588), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(connection#0, Inherited), id: 4064, ty: type(Connection), attrs: [] }, span: Span { lo: BytePos(11594), hi: BytePos(11616), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(notification#0, Inherited), id: 4066, ty: type(Notification), attrs: [] }, span: Span { lo: BytePos(11622), hi: BytePos(11648), expn_id: ExpnId(4294967295) } }], 4068), Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4069, predicates: [] } }), vis: Public, span: Span { lo: BytePos(11545), hi: BytePos(11650), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHandle.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1217), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }, is_sugared_doc: false }, span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }, Spanned { node: Attribute_ { id: AttrId(1218), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }]), span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }, is_sugared_doc: false }, span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }], id: 4070, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4133, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 4132 }), type(NotificationHandle), [ImplItem { id: 4071, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4074: self), id: 4073 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(4077: __arg_0), id: 4076 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4072, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } } }, Block { stmts: [], expr: Some(expr(4082: match *self {
NotificationHandle {
id: ref __self_0_0,
connection: ref __self_0_1,
notification: ref __self_0_2 } => {
let mut builder = __arg_0.debug_struct("NotificationHandle");
let _ = builder.field("id", &&(*__self_0_0));
let _ = builder.field("connection", &&(*__self_0_1));
let _ = builder.field("notification", &&(*__self_0_2));
builder.finish()
}
})), id: 4081, rules: DefaultBlock, span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }]), vis: Inherited, span: Span { lo: BytePos(11537), hi: BytePos(11542), expn_id: ExpnId(188) } }
Item { ident: NotificationHandle#0, attrs: [], id: 4135, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4222, predicates: [] } }, None, type(NotificationHandle), [ImplItem { id: 4136, ident: new#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(u32), pat: pat(4139: id), id: 4138 }, Arg { ty: type(Connection), pat: pat(4142: connection), id: 4141 }, Arg { ty: type(Notification), pat: pat(4145: notification), id: 4144 }], output: Return(type(NotificationHandle)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4137, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(11689), hi: BytePos(11752), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(4149: NotificationHandle{id: id,
connection: connection,
notification: notification,})), id: 4148, rules: DefaultBlock, span: Span { lo: BytePos(11772), hi: BytePos(11913), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11682), hi: BytePos(11913), expn_id: ExpnId(4294967295) } }, ImplItem { id: 4153, ident: wait_for_action#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(209), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Waits for the user to act on a notification and then calls", CookedStr), span: Span { lo: BytePos(11919), hi: BytePos(11981), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11919), hi: BytePos(11981), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(11919), hi: BytePos(11981), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(210), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// `invokation_closure` with the name of the corresponding action.", CookedStr), span: Span { lo: BytePos(11986), hi: BytePos(12053), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(11986), hi: BytePos(12053), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(11986), hi: BytePos(12053), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4161: self), id: 4160 }, Arg { ty: type(F), pat: pat(4164: invokation_closure), id: 4163 }], output: DefaultReturn(Span { lo: BytePos(12112), hi: BytePos(12112), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: F#0, id: 4154, bounds: [], default: None, span: Span { lo: BytePos(12081), hi: BytePos(12082), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 4155, predicates: [BoundPredicate(WhereBoundPredicate { span: Span { lo: BytePos(12118), hi: BytePos(12132), expn_id: ExpnId(4294967295) }, bound_lifetimes: [], bounded_ty: type(F), bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(FnOnce(&str)), ref_id: 4157 }, span: Span { lo: BytePos(12120), hi: BytePos(12132), expn_id: ExpnId(4294967295) } }, None)] })] } }, explicit_self: Spanned { node: SelfValue(self#0), span: Span { lo: BytePos(12084), hi: BytePos(12117), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(4167: wait_for_action_signal(&self.connection, self.id, invokation_closure);)], expr: None, id: 4166, rules: DefaultBlock, span: Span { lo: BytePos(12133), hi: BytePos(12219), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12058), hi: BytePos(12219), expn_id: ExpnId(4294967295) } }, ImplItem { id: 4176, ident: close#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(211), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Manually close the notification", CookedStr), span: Span { lo: BytePos(12225), hi: BytePos(12260), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12225), hi: BytePos(12260), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12225), hi: BytePos(12260), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4179: self), id: 4178 }], output: DefaultReturn(Span { lo: BytePos(12284), hi: BytePos(12284), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4177, predicates: [] } }, explicit_self: Spanned { node: SelfValue(self#0), span: Span { lo: BytePos(12278), hi: BytePos(12285), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(4182: let mut message = build_message("CloseNotification");), stmt(4188: message.append_items(&[self.id.into()]);), stmt(4196: let _ = self.connection.send(message);)], expr: None, id: 4181, rules: DefaultBlock, span: Span { lo: BytePos(12284), hi: BytePos(12506), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12265), hi: BytePos(12506), expn_id: ExpnId(4294967295) } }, ImplItem { id: 4203, ident: update#0, vis: Public, attrs: [Spanned { node: Attribute_ { id: AttrId(212), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Replace the original notification with an updated version", CookedStr), span: Span { lo: BytePos(12512), hi: BytePos(12573), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12512), hi: BytePos(12573), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12512), hi: BytePos(12573), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(213), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// ## Example", CookedStr), span: Span { lo: BytePos(12578), hi: BytePos(12592), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12578), hi: BytePos(12592), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12578), hi: BytePos(12592), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(214), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// ```no_run", CookedStr), span: Span { lo: BytePos(12597), hi: BytePos(12610), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12597), hi: BytePos(12610), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12597), hi: BytePos(12610), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(215), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// # use notify_rust::Notification;", CookedStr), span: Span { lo: BytePos(12615), hi: BytePos(12651), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12615), hi: BytePos(12651), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12615), hi: BytePos(12651), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(216), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// let mut notification = Notification::new()", CookedStr), span: Span { lo: BytePos(12656), hi: BytePos(12702), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12656), hi: BytePos(12702), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12656), hi: BytePos(12702), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(217), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .summary(\"Latest News\")", CookedStr), span: Span { lo: BytePos(12707), hi: BytePos(12738), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12707), hi: BytePos(12738), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12707), hi: BytePos(12738), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(218), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .body(\"Bayern Dortmund 3:2\")", CookedStr), span: Span { lo: BytePos(12743), hi: BytePos(12779), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12743), hi: BytePos(12779), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12743), hi: BytePos(12779), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(219), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .show().unwrap();", CookedStr), span: Span { lo: BytePos(12784), hi: BytePos(12809), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12784), hi: BytePos(12809), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12784), hi: BytePos(12809), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(220), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(12814), hi: BytePos(12817), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12814), hi: BytePos(12817), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12814), hi: BytePos(12817), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(221), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// std::thread::sleep_ms(1_500);", CookedStr), span: Span { lo: BytePos(12822), hi: BytePos(12855), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12822), hi: BytePos(12855), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12822), hi: BytePos(12855), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(222), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(12860), hi: BytePos(12863), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12860), hi: BytePos(12863), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12860), hi: BytePos(12863), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(223), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// notification", CookedStr), span: Span { lo: BytePos(12868), hi: BytePos(12884), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12868), hi: BytePos(12884), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12868), hi: BytePos(12884), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(224), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .summary(\"Latest News (Correction)\")", CookedStr), span: Span { lo: BytePos(12889), hi: BytePos(12933), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12889), hi: BytePos(12933), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12889), hi: BytePos(12933), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(225), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// .body(\"Bayern Dortmund 3:3\");", CookedStr), span: Span { lo: BytePos(12938), hi: BytePos(12975), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12938), hi: BytePos(12975), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12938), hi: BytePos(12975), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(226), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(12980), hi: BytePos(12983), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12980), hi: BytePos(12983), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12980), hi: BytePos(12983), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(227), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// notification.update();", CookedStr), span: Span { lo: BytePos(12988), hi: BytePos(13014), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(12988), hi: BytePos(13014), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(12988), hi: BytePos(13014), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(228), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// ```", CookedStr), span: Span { lo: BytePos(13019), hi: BytePos(13026), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13019), hi: BytePos(13026), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13019), hi: BytePos(13026), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(229), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Watch out for different implementations of the", CookedStr), span: Span { lo: BytePos(13031), hi: BytePos(13081), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13031), hi: BytePos(13081), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13031), hi: BytePos(13081), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(230), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// notification server! On plasma5 or instance, you should also change the appname, so the old", CookedStr), span: Span { lo: BytePos(13086), hi: BytePos(13181), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13086), hi: BytePos(13181), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13086), hi: BytePos(13181), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(231), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// message is really replaced and not just amended. Xfce behaves well, all others have not", CookedStr), span: Span { lo: BytePos(13186), hi: BytePos(13277), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13186), hi: BytePos(13277), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13186), hi: BytePos(13277), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(232), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// been tested by the developer.", CookedStr), span: Span { lo: BytePos(13282), hi: BytePos(13315), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13282), hi: BytePos(13315), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13282), hi: BytePos(13315), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4206: self), id: 4205 }], output: DefaultReturn(Span { lo: BytePos(13345), hi: BytePos(13345), expn_id: ExpnId(4294967295) }), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4204, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(13334), hi: BytePos(13346), expn_id: ExpnId(4294967295) } } }, Block { stmts: [stmt(4209: self.id = self.notification._show(self.id, &self.connection).unwrap();)], expr: None, id: 4208, rules: DefaultBlock, span: Span { lo: BytePos(13345), hi: BytePos(13431), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13320), hi: BytePos(13431), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(11652), hi: BytePos(13433), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHandle.Deref#0, attrs: [Spanned { node: Attribute_ { id: AttrId(233), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Required for DerefMut", CookedStr), span: Span { lo: BytePos(13435), hi: BytePos(13460), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13435), hi: BytePos(13460), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13435), hi: BytePos(13460), expn_id: ExpnId(4294967295) } }], id: 4224, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4239, predicates: [] } }, Some(TraitRef { path: path(Deref), ref_id: 4238 }), type(NotificationHandle), [ImplItem { id: 4225, ident: Target#0, vis: Inherited, attrs: [], node: Type(type(Notification)), span: Span { lo: BytePos(13501), hi: BytePos(13528), expn_id: ExpnId(4294967295) } }, ImplItem { id: 4227, ident: deref#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4230: self), id: 4229 }], output: Return(type(&Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4228, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13542), hi: BytePos(13551), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(4235: &self.notification)), id: 4234, rules: DefaultBlock, span: Span { lo: BytePos(13566), hi: BytePos(13600), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13533), hi: BytePos(13600), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(13461), hi: BytePos(13602), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationHandle.DerefMut#0, attrs: [Spanned { node: Attribute_ { id: AttrId(234), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Allow to easily modify notification properties", CookedStr), span: Span { lo: BytePos(13604), hi: BytePos(13654), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13604), hi: BytePos(13654), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13604), hi: BytePos(13654), expn_id: ExpnId(4294967295) } }], id: 4241, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4254, predicates: [] } }, Some(TraitRef { path: path(DerefMut), ref_id: 4253 }), type(NotificationHandle), [ImplItem { id: 4242, ident: deref_mut#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4245: self), id: 4244 }], output: Return(type(&mut Notification)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4243, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutMutable, self#0), span: Span { lo: BytePos(13711), hi: BytePos(13724), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(4250: &mut self.notification)), id: 4249, rules: DefaultBlock, span: Span { lo: BytePos(13743), hi: BytePos(13781), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13698), hi: BytePos(13781), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(13655), hi: BytePos(13783), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationUrgency#0, attrs: [Spanned { node: Attribute_ { id: AttrId(235), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Levels of Urgency.", CookedStr), span: Span { lo: BytePos(13788), hi: BytePos(13810), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13788), hi: BytePos(13810), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13788), hi: BytePos(13810), expn_id: ExpnId(4294967295) } }], id: 4256, node: ItemEnum(EnumDef { variants: [Spanned { node: Variant_ { name: Low#0, attrs: [Spanned { node: Attribute_ { id: AttrId(237), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The behaviour for `Low` urgency depends on the notification server.", CookedStr), span: Span { lo: BytePos(13896), hi: BytePos(13967), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13896), hi: BytePos(13967), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13896), hi: BytePos(13967), expn_id: ExpnId(4294967295) } }], data: Unit(4257), disr_expr: Some(expr(4258: 0)) }, span: Span { lo: BytePos(13972), hi: BytePos(13979), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Normal#0, attrs: [Spanned { node: Attribute_ { id: AttrId(238), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The behaviour for `Normal` urgency depends on the notification server.", CookedStr), span: Span { lo: BytePos(13985), hi: BytePos(14059), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13985), hi: BytePos(14059), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(13985), hi: BytePos(14059), expn_id: ExpnId(4294967295) } }], data: Unit(4259), disr_expr: Some(expr(4260: 1)) }, span: Span { lo: BytePos(14064), hi: BytePos(14074), expn_id: ExpnId(4294967295) } }, Spanned { node: Variant_ { name: Critical#0, attrs: [Spanned { node: Attribute_ { id: AttrId(239), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// A critical notification will not time out.", CookedStr), span: Span { lo: BytePos(14080), hi: BytePos(14126), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14080), hi: BytePos(14126), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(14080), hi: BytePos(14126), expn_id: ExpnId(4294967295) } }], data: Unit(4261), disr_expr: Some(expr(4262: 2)) }, span: Span { lo: BytePos(14131), hi: BytePos(14143), expn_id: ExpnId(4294967295) } }] }, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4263, predicates: [] } }), vis: Public, span: Span { lo: BytePos(13862), hi: BytePos(14145), expn_id: ExpnId(4294967295) } }
Item { ident: NotificationUrgency.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1225), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }, Spanned { node: Attribute_ { id: AttrId(1226), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }]), span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }], id: 4264, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4321, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 4320 }), type(NotificationUrgency), [ImplItem { id: 4265, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4268: self), id: 4267 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(4271: __arg_0), id: 4270 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4266, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } } }, Block { stmts: [], expr: Some(expr(4276: match (&*self,) {
(&NotificationUrgency::Low,) => {
let mut builder = __arg_0.debug_tuple("Low");
builder.finish()
}
(&NotificationUrgency::Normal,) => {
let mut builder = __arg_0.debug_tuple("Normal");
builder.finish()
}
(&NotificationUrgency::Critical,) => {
let mut builder = __arg_0.debug_tuple("Critical");
builder.finish()
}
})), id: 4275, rules: DefaultBlock, span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }]), vis: Inherited, span: Span { lo: BytePos(13854), hi: BytePos(13859), expn_id: ExpnId(193) } }
Item { ident: NotificationUrgency.::std::clone::Clone#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1228), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }, Spanned { node: Attribute_ { id: AttrId(1229), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }]), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }], id: 4323, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4349, predicates: [] } }, Some(TraitRef { path: path(::std::clone::Clone), ref_id: 4348 }), type(NotificationUrgency), [ImplItem { id: 4324, ident: clone#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1227), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4327: self), id: 4326 }], output: Return(type(NotificationUrgency)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4325, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } } }, Block { stmts: [], expr: Some(expr(4331: match (&*self,) {
(&NotificationUrgency::Low,) => NotificationUrgency::Low,
(&NotificationUrgency::Normal,) => NotificationUrgency::Normal,
(&NotificationUrgency::Critical,) => NotificationUrgency::Critical,
})), id: 4330, rules: DefaultBlock, span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }]), vis: Inherited, span: Span { lo: BytePos(13847), hi: BytePos(13852), expn_id: ExpnId(194) } }
Item { ident: NotificationUrgency.::std::marker::Copy#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1230), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }, Spanned { node: Attribute_ { id: AttrId(1231), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }]), span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }], id: 4351, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4353, predicates: [] } }, Some(TraitRef { path: path(::std::marker::Copy), ref_id: 4352 }), type(NotificationUrgency), []), vis: Inherited, span: Span { lo: BytePos(13841), hi: BytePos(13845), expn_id: ExpnId(195) } }
Item { ident: NotificationUrgency.::std::hash::Hash#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1232), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }, Spanned { node: Attribute_ { id: AttrId(1233), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }]), span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }], id: 4355, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4408, predicates: [] } }, Some(TraitRef { path: path(::std::hash::Hash), ref_id: 4407 }), type(NotificationUrgency), [ImplItem { id: 4356, ident: hash#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4361: self), id: 4360 }, Arg { ty: type(&mut __H), pat: pat(4364: __arg_0), id: 4363 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [TyParam { ident: __H#0, id: 4357, bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(::std::hash::Hasher), ref_id: 4358 }, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }, None)], default: None, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 4359, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } } }, Block { stmts: [], expr: Some(expr(4369: match (&*self,) {
(&NotificationUrgency::Low,) => { ::std::hash::Hash::hash(&0, __arg_0); }
(&NotificationUrgency::Normal,) => {
::std::hash::Hash::hash(&1, __arg_0);
}
(&NotificationUrgency::Critical,) => {
::std::hash::Hash::hash(&2, __arg_0);
}
})), id: 4368, rules: DefaultBlock, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }]), vis: Inherited, span: Span { lo: BytePos(13835), hi: BytePos(13839), expn_id: ExpnId(196) } }
Item { ident: NotificationUrgency.::std::cmp::PartialEq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1236), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }, Spanned { node: Attribute_ { id: AttrId(1237), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }]), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }], id: 4410, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4568, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::PartialEq), ref_id: 4567 }), type(NotificationUrgency), [ImplItem { id: 4411, ident: eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1234), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4414: self), id: 4413 }, Arg { ty: type(&NotificationUrgency), pat: pat(4417: __arg_0), id: 4416 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4412, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } } }, Block { stmts: [], expr: Some(expr(4422: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationUrgency::Low, &NotificationUrgency::Low) => true,
(&NotificationUrgency::Normal, &NotificationUrgency::Normal) =>
true,
(&NotificationUrgency::Critical, &NotificationUrgency::Critical)
=> true,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { false }
})), id: 4421, rules: DefaultBlock, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }, ImplItem { id: 4489, ident: ne#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1235), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4492: self), id: 4491 }, Arg { ty: type(&NotificationUrgency), pat: pat(4495: __arg_0), id: 4494 }], output: Return(type(bool)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4490, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } } }, Block { stmts: [], expr: Some(expr(4500: {
let __self_vi =
unsafe { ::std::intrinsics::discriminant_value(&*self) } as i32;
let __arg_1_vi =
unsafe { ::std::intrinsics::discriminant_value(&*__arg_0) } as i32;
if true && __self_vi == __arg_1_vi {
match (&*self, &*__arg_0) {
(&NotificationUrgency::Low, &NotificationUrgency::Low) => false,
(&NotificationUrgency::Normal, &NotificationUrgency::Normal) =>
false,
(&NotificationUrgency::Critical, &NotificationUrgency::Critical)
=> false,
_ => unsafe { ::std::intrinsics::unreachable() }
}
} else { true }
})), id: 4499, rules: DefaultBlock, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }]), vis: Inherited, span: Span { lo: BytePos(13824), hi: BytePos(13833), expn_id: ExpnId(197) } }
Item { ident: NotificationUrgency.::std::cmp::Eq#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1240), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }, Spanned { node: Attribute_ { id: AttrId(1241), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }]), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }], id: 4570, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4599, predicates: [] } }, Some(TraitRef { path: path(::std::cmp::Eq), ref_id: 4598 }), type(NotificationUrgency), [ImplItem { id: 4571, ident: assert_receiver_is_total_eq#0, vis: Inherited, attrs: [Spanned { node: Attribute_ { id: AttrId(1238), style: Outer, value: Spanned { node: MetaWord("inline"), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(1239), style: Outer, value: Spanned { node: MetaList("doc", [Spanned { node: MetaWord("hidden"), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }]), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }, is_sugared_doc: false }, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4574: self), id: 4573 }], output: Return(type(())), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4572, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } } }, Block { stmts: [], expr: Some(expr(4578: match (&*self,) {
(&NotificationUrgency::Low,) => { }
(&NotificationUrgency::Normal,) => { }
(&NotificationUrgency::Critical,) => { }
})), id: 4577, rules: DefaultBlock, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }]), vis: Inherited, span: Span { lo: BytePos(13820), hi: BytePos(13822), expn_id: ExpnId(198) } }
Item { ident: NotificationUrgency.From<&'a str>#0, attrs: [], id: 4601, node: ItemImpl(Normal, "positive", Generics { lifetimes: [LifetimeDef { lifetime: lifetime(4660: 'a), bounds: [] }], ty_params: [], where_clause: WhereClause { id: 4661, predicates: [] } }, Some(TraitRef { path: path(From<&'a str>), ref_id: 4656 }), type(NotificationUrgency), [ImplItem { id: 4602, ident: from#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(&'a str), pat: pat(4605: string), id: 4604 }], output: Return(type(NotificationUrgency)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4603, predicates: [] } }, explicit_self: Spanned { node: SelfStatic, span: Span { lo: BytePos(14208), hi: BytePos(14226), expn_id: ExpnId(4294967295) } } }, Block { stmts: [], expr: Some(expr(4611: match string.to_lowercase().as_ref() {
"low" => NotificationUrgency::Low,
"lo" => NotificationUrgency::Low,
"normal" => NotificationUrgency::Normal,
"medium" => NotificationUrgency::Normal,
"critical" => NotificationUrgency::Critical,
"high" => NotificationUrgency::Critical,
"hi" => NotificationUrgency::Critical,
_ => {
::std::rt::begin_unwind("not yet implemented",
{
static _FILE_LINE: (&'static str, u32) =
("src/lib.rs", 426u32);
&_FILE_LINE
})
}
})), id: 4610, rules: DefaultBlock, span: Span { lo: BytePos(14247), hi: BytePos(14730), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14200), hi: BytePos(14730), expn_id: ExpnId(4294967295) } }]), vis: Inherited, span: Span { lo: BytePos(14147), hi: BytePos(14732), expn_id: ExpnId(4294967295) } }
Item { ident: _FILE_LINE#463, attrs: [], id: 4645, node: ItemStatic(type((&'static str, u32)), MutImmutable, expr(4651: ("src/lib.rs", 426u32))), vis: Inherited, span: Span { lo: BytePos(40813), hi: BytePos(40890), expn_id: ExpnId(200) } }
Item { ident: ServerInformation#0, attrs: [Spanned { node: Attribute_ { id: AttrId(240), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Return value of `get_server_information()`.", CookedStr), span: Span { lo: BytePos(14737), hi: BytePos(14784), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14737), hi: BytePos(14784), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(14737), hi: BytePos(14784), expn_id: ExpnId(4294967295) } }], id: 4663, node: ItemStruct(Struct([Spanned { node: StructField_ { kind: NamedField(name#0, Public), id: 4664, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(242), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The product name of the server.", CookedStr), span: Span { lo: BytePos(14837), hi: BytePos(14872), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14837), hi: BytePos(14872), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(14837), hi: BytePos(14872), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(14877), hi: BytePos(14902), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(vendor#0, Public), id: 4666, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(243), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The vendor name.", CookedStr), span: Span { lo: BytePos(14908), hi: BytePos(14928), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14908), hi: BytePos(14928), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(14908), hi: BytePos(14928), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(14933), hi: BytePos(14958), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(version#0, Public), id: 4668, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(244), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The server\'s version string.", CookedStr), span: Span { lo: BytePos(14964), hi: BytePos(14996), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14964), hi: BytePos(14996), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(14964), hi: BytePos(14996), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(15001), hi: BytePos(15026), expn_id: ExpnId(4294967295) } }, Spanned { node: StructField_ { kind: NamedField(spec_version#0, Public), id: 4670, ty: type(String), attrs: [Spanned { node: Attribute_ { id: AttrId(245), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The specification version the server is compliant with.", CookedStr), span: Span { lo: BytePos(15032), hi: BytePos(15091), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15032), hi: BytePos(15091), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15032), hi: BytePos(15091), expn_id: ExpnId(4294967295) } }] }, span: Span { lo: BytePos(15096), hi: BytePos(15121), expn_id: ExpnId(4294967295) } }], 4672), Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4673, predicates: [] } }), vis: Public, span: Span { lo: BytePos(14802), hi: BytePos(15123), expn_id: ExpnId(4294967295) } }
Item { ident: ServerInformation.::std::fmt::Debug#0, attrs: [Spanned { node: Attribute_ { id: AttrId(1243), style: Outer, value: Spanned { node: MetaWord("automatically_derived"), span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }, is_sugared_doc: false }, span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }, Spanned { node: Attribute_ { id: AttrId(1244), style: Outer, value: Spanned { node: MetaList("allow", [Spanned { node: MetaWord("unused_qualifications"), span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }]), span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }, is_sugared_doc: false }, span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }], id: 4674, node: ItemImpl(Normal, "positive", Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4749, predicates: [] } }, Some(TraitRef { path: path(::std::fmt::Debug), ref_id: 4748 }), type(ServerInformation), [ImplItem { id: 4675, ident: fmt#0, vis: Inherited, attrs: [], node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [Arg { ty: type(_), pat: pat(4678: self), id: 4677 }, Arg { ty: type(&mut ::std::fmt::Formatter), pat: pat(4681: __arg_0), id: 4680 }], output: Return(type(::std::fmt::Result)), variadic: false }, generics: Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4676, predicates: [] } }, explicit_self: Spanned { node: SelfRegion(None, MutImmutable, self#0), span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } } }, Block { stmts: [], expr: Some(expr(4686: match *self {
ServerInformation {
name: ref __self_0_0,
vendor: ref __self_0_1,
version: ref __self_0_2,
spec_version: ref __self_0_3 } => {
let mut builder = __arg_0.debug_struct("ServerInformation");
let _ = builder.field("name", &&(*__self_0_0));
let _ = builder.field("vendor", &&(*__self_0_1));
let _ = builder.field("version", &&(*__self_0_2));
let _ = builder.field("spec_version", &&(*__self_0_3));
builder.finish()
}
})), id: 4685, rules: DefaultBlock, span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }]), vis: Inherited, span: Span { lo: BytePos(14794), hi: BytePos(14799), expn_id: ExpnId(204) } }
Item { ident: get_capabilities#0, attrs: [Spanned { node: Attribute_ { id: AttrId(246), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Get list of all capabilities of the running notification server.", CookedStr), span: Span { lo: BytePos(15158), hi: BytePos(15226), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15158), hi: BytePos(15226), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15158), hi: BytePos(15226), expn_id: ExpnId(4294967295) } }], id: 4751, node: ItemFn(FnDecl { inputs: [], output: Return(type(Result<Vec<String>, Error>)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4756, predicates: [] } }, Block { stmts: [stmt(4758: let mut capabilities = <[_]>::into_vec(::std::boxed::Box::new([]));), stmt(4768: let message = build_message("GetCapabilities");), stmt(4774: let connection =
match Connection::get_private(BusType::Session) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};), stmt(4794: let reply =
match connection.send_with_reply_and_block(message, 2000) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};), stmt(4815: if let Some(&MessageItem::Array(ref items, Cow::Borrowed("s"))) =
reply.get_items().get(0) {
for item in items.iter() {
if let &MessageItem::Str(ref cap) = item {
capabilities.push(cap.clone());
}
}
}), stmt(4845: return Ok(capabilities);)], expr: None, id: 4757, rules: DefaultBlock, span: Span { lo: BytePos(15283), hi: BytePos(15820), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(15227), hi: BytePos(15820), expn_id: ExpnId(4294967295) } }
Item { ident: get_server_information#0, attrs: [Spanned { node: Attribute_ { id: AttrId(247), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Returns a struct containing ServerInformation.", CookedStr), span: Span { lo: BytePos(15822), hi: BytePos(15872), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15822), hi: BytePos(15872), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15822), hi: BytePos(15872), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(248), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(15873), hi: BytePos(15876), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15873), hi: BytePos(15876), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15873), hi: BytePos(15876), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(249), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// This struct contains name, vendor, version and spec_version of the notification server", CookedStr), span: Span { lo: BytePos(15877), hi: BytePos(15967), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15877), hi: BytePos(15967), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15877), hi: BytePos(15967), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(250), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// running.", CookedStr), span: Span { lo: BytePos(15968), hi: BytePos(15980), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(15968), hi: BytePos(15980), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(15968), hi: BytePos(15980), expn_id: ExpnId(4294967295) } }], id: 4850, node: ItemFn(FnDecl { inputs: [], output: Return(type(Result<ServerInformation, Error>)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4854, predicates: [] } }, Block { stmts: [stmt(4856: let message = build_message("GetServerInformation");), stmt(4862: let connection =
match Connection::get_private(BusType::Session) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};), stmt(4882: let reply =
match connection.send_with_reply_and_block(message, 2000) {
::std::result::Result::Ok(val) => val,
::std::result::Result::Err(err) => {
return ::std::result::Result::Err(::std::convert::From::from(err))
}
};), stmt(4903: let items = reply.get_items();)], expr: Some(expr(4908: Ok(ServerInformation{name: unwrap_message_string(items.get(0)),
vendor: unwrap_message_string(items.get(1)),
version: unwrap_message_string(items.get(2)),
spec_version: unwrap_message_string(items.get(3)),}))), id: 4855, rules: DefaultBlock, span: Span { lo: BytePos(16049), hi: BytePos(16572), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(15981), hi: BytePos(16572), expn_id: ExpnId(4294967295) } }
Item { ident: stop_server#0, attrs: [Spanned { node: Attribute_ { id: AttrId(251), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Strictly internal.", CookedStr), span: Span { lo: BytePos(16574), hi: BytePos(16596), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16574), hi: BytePos(16596), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16574), hi: BytePos(16596), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(252), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// The Notificationserver implemented here exposes a \"Stop\" function.", CookedStr), span: Span { lo: BytePos(16597), hi: BytePos(16667), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16597), hi: BytePos(16667), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16597), hi: BytePos(16667), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(253), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// stops the notification server", CookedStr), span: Span { lo: BytePos(16668), hi: BytePos(16701), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16668), hi: BytePos(16701), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16668), hi: BytePos(16701), expn_id: ExpnId(4294967295) } }], id: 4931, node: ItemFn(FnDecl { inputs: [], output: DefaultReturn(Span { lo: BytePos(16723), hi: BytePos(16723), expn_id: ExpnId(4294967295) }), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 4932, predicates: [] } }, Block { stmts: [stmt(4934: let message = build_message("Stop");), stmt(4940: let connection = Connection::get_private(BusType::Session).unwrap();), stmt(4947: let _reply = connection.send_with_reply_and_block(message, 2000).unwrap();)], expr: None, id: 4933, rules: DefaultBlock, span: Span { lo: BytePos(16723), hi: BytePos(16926), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(16702), hi: BytePos(16926), expn_id: ExpnId(4294967295) } }
Item { ident: handle_actions#0, attrs: [Spanned { node: Attribute_ { id: AttrId(254), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// Listens for the `ActionInvoked(UInt32, String)` Signal.", CookedStr), span: Span { lo: BytePos(16930), hi: BytePos(16989), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16930), hi: BytePos(16989), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16930), hi: BytePos(16989), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(255), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("///", CookedStr), span: Span { lo: BytePos(16990), hi: BytePos(16993), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16990), hi: BytePos(16993), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16990), hi: BytePos(16993), expn_id: ExpnId(4294967295) } }, Spanned { node: Attribute_ { id: AttrId(256), style: Outer, value: Spanned { node: MetaNameValue("doc", Spanned { node: LitStr("/// No need to use this, check out `Notification::show_and_wait_for_action(FnOnce(action:&str))`", CookedStr), span: Span { lo: BytePos(16994), hi: BytePos(17090), expn_id: ExpnId(4294967295) } }), span: Span { lo: BytePos(16994), hi: BytePos(17090), expn_id: ExpnId(4294967295) } }, is_sugared_doc: true }, span: Span { lo: BytePos(16994), hi: BytePos(17090), expn_id: ExpnId(4294967295) } }], id: 4955, node: ItemFn(FnDecl { inputs: [Arg { ty: type(u32), pat: pat(4957: id), id: 4956 }, Arg { ty: type(F), pat: pat(4960: func), id: 4959 }], output: DefaultReturn(Span { lo: BytePos(17132), hi: BytePos(17132), expn_id: ExpnId(4294967295) }), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [TyParam { ident: F#0, id: 4962, bounds: [], default: None, span: Span { lo: BytePos(17113), hi: BytePos(17114), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 4963, predicates: [BoundPredicate(WhereBoundPredicate { span: Span { lo: BytePos(17138), hi: BytePos(17153), expn_id: ExpnId(4294967295) }, bound_lifetimes: [], bounded_ty: type(F), bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(FnOnce(&str)), ref_id: 4965 }, span: Span { lo: BytePos(17141), hi: BytePos(17153), expn_id: ExpnId(4294967295) } }, None)] })] } }, Block { stmts: [stmt(4969: let connection = Connection::get_private(BusType::Session).unwrap();), stmt(4976: wait_for_action_signal(&connection, id, func);)], expr: None, id: 4968, rules: DefaultBlock, span: Span { lo: BytePos(17154), hi: BytePos(17281), expn_id: ExpnId(4294967295) } }), vis: Public, span: Span { lo: BytePos(17091), hi: BytePos(17281), expn_id: ExpnId(4294967295) } }
Item { ident: wait_for_action_signal#0, attrs: [], id: 4983, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&Connection), pat: pat(4985: connection), id: 4984 }, Arg { ty: type(u32), pat: pat(4989: id), id: 4988 }, Arg { ty: type(F), pat: pat(4992: func), id: 4991 }], output: DefaultReturn(Span { lo: BytePos(17449), hi: BytePos(17449), expn_id: ExpnId(4294967295) }), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [TyParam { ident: F#0, id: 4994, bounds: [], default: None, span: Span { lo: BytePos(17403), hi: BytePos(17404), expn_id: ExpnId(4294967295) } }], where_clause: WhereClause { id: 4995, predicates: [BoundPredicate(WhereBoundPredicate { span: Span { lo: BytePos(17455), hi: BytePos(17470), expn_id: ExpnId(4294967295) }, bound_lifetimes: [], bounded_ty: type(F), bounds: [TraitTyParamBound(PolyTraitRef { bound_lifetimes: [], trait_ref: TraitRef { path: path(FnOnce(&str)), ref_id: 4997 }, span: Span { lo: BytePos(17458), hi: BytePos(17470), expn_id: ExpnId(4294967295) } }, None)] })] } }, Block { stmts: [stmt(5001: connection.add_match("interface=\'org.freedesktop.Notifications\',member=\'ActionInvoked\'").unwrap();), stmt(5006: connection.add_match("interface=\'org.freedesktop.Notifications\',member=\'ActionInvoked\'").unwrap();), stmt(5011: connection.add_match("interface=\'org.freedesktop.Notifications\',member=\'NotificationClosed\'").unwrap();)], expr: Some(expr(5016: for item in connection.iter(1000) {
if let ConnectionItem::Signal(s) = item {
let (_, protocol, iface, member) = s.headers();
let items = s.get_items();
match (&*protocol.unwrap(), &*iface.unwrap(), &*member.unwrap()) {
("/org/freedesktop/Notifications",
"org.freedesktop.Notifications", "ActionInvoked") => {
if let (&MessageItem::UInt32(nid),
&MessageItem::Str(ref _action)) =
(&items[0], &items[1]) {
if nid == id { func(_action); break ; }
}
}
("/org/freedesktop/Notifications",
"org.freedesktop.Notifications", "NotificationClosed") => {
if let (&MessageItem::UInt32(nid), &MessageItem::UInt32(_)) =
(&items[0], &items[1]) {
if nid == id { func("__closed"); break ; }
}
}
(_, _, _) => (),
}
}
})), id: 5000, rules: DefaultBlock, span: Span { lo: BytePos(17471), hi: BytePos(18845), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(17377), hi: BytePos(18845), expn_id: ExpnId(4294967295) } }
Item { ident: exe_name#0, attrs: [], id: 5136, node: ItemFn(FnDecl { inputs: [], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 5138, predicates: [] } }, Block { stmts: [], expr: Some(expr(5140: env::current_exe().unwrap().file_name().unwrap().to_str().unwrap().to_owned())), id: 5139, rules: DefaultBlock, span: Span { lo: BytePos(18964), hi: BytePos(19054), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(18940), hi: BytePos(19054), expn_id: ExpnId(4294967295) } }
Item { ident: build_message#0, attrs: [], id: 5148, node: ItemFn(FnDecl { inputs: [Arg { ty: type(&str), pat: pat(5150: method_name), id: 5149 }], output: Return(type(Message)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 5154, predicates: [] } }, Block { stmts: [], expr: Some(expr(5156: Message::new_method_call("org.freedesktop.Notifications",
"/org/freedesktop/Notifications",
"org.freedesktop.Notifications",
method_name).ok().expect(&::std::fmt::format(::std::fmt::Arguments::new_v1({
static __STATIC_FMTSTR:
&'static [&'static str]
=
&["Error building message call ",
"."];
__STATIC_FMTSTR
},
&match (&method_name,)
{
(__arg0,)
=>
[::std::fmt::ArgumentV1::new(__arg0,
::std::fmt::Debug::fmt)],
}))))), id: 5155, rules: DefaultBlock, span: Span { lo: BytePos(19102), hi: BytePos(19352), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19056), hi: BytePos(19352), expn_id: ExpnId(4294967295) } }
Item { ident: __STATIC_FMTSTR#526, attrs: [], id: 5172, node: ItemStatic(type(&'static [&'static str]), MutImmutable, expr(5179: &["Error building message call ", "."])), vis: Inherited, span: Span { lo: BytePos(19300), hi: BytePos(19335), expn_id: ExpnId(215) } }
Item { ident: unwrap_message_string#0, attrs: [], id: 5196, node: ItemFn(FnDecl { inputs: [Arg { ty: type(Option<&MessageItem>), pat: pat(5198: item), id: 5197 }], output: Return(type(String)), variadic: false }, Normal, NotConst, Rust, Generics { lifetimes: [], ty_params: [], where_clause: WhereClause { id: 5203, predicates: [] } }, Block { stmts: [], expr: Some(expr(5205: match item {
Some(&MessageItem::Str(ref value)) => value.to_owned(),
_ => "".to_owned(),
})), id: 5204, rules: DefaultBlock, span: Span { lo: BytePos(19417), hi: BytePos(19533), expn_id: ExpnId(4294967295) } }), vis: Inherited, span: Span { lo: BytePos(19354), hi: BytePos(19533), expn_id: ExpnId(4294967295) } }