#![crate_name = "foo"] // @has foo/struct.Foo0.html pub struct Foo0; impl Foo0 { // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.1: fn_with_doc' // @hasraw - 'fn_with_doc short' // @hasraw - 'fn_with_doc full' /// fn_with_doc short /// /// fn_with_doc full #[deprecated(since = "1.0.1", note = "fn_with_doc")] pub fn fn_with_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.2: fn_without_doc' #[deprecated(since = "1.0.2", note = "fn_without_doc")] pub fn fn_without_doc() {} } pub trait Bar { /// fn_empty_with_doc short /// /// fn_empty_with_doc full #[deprecated(since = "1.0.3", note = "fn_empty_with_doc")] fn fn_empty_with_doc(); #[deprecated(since = "1.0.4", note = "fn_empty_without_doc")] fn fn_empty_without_doc(); /// fn_def_with_doc short /// /// fn_def_with_doc full #[deprecated(since = "1.0.5", note = "fn_def_with_doc")] fn fn_def_with_doc() {} #[deprecated(since = "1.0.6", note = "fn_def_without_doc")] fn fn_def_without_doc() {} /// fn_def_def_with_doc short /// /// fn_def_def_with_doc full #[deprecated(since = "1.0.7", note = "fn_def_def_with_doc")] fn fn_def_def_with_doc() {} #[deprecated(since = "1.0.8", note = "fn_def_def_without_doc")] fn fn_def_def_without_doc() {} } // @has foo/struct.Foo1.html pub struct Foo1; impl Bar for Foo1 { // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.3: fn_empty_with_doc' // @hasraw - 'fn_empty_with_doc_impl short' // @hasraw - 'fn_empty_with_doc_impl full' /// fn_empty_with_doc_impl short /// /// fn_empty_with_doc_impl full fn fn_empty_with_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.4: fn_empty_without_doc' fn fn_empty_without_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.5: fn_def_with_doc' // @hasraw - 'fn_def_with_doc_impl short' // @hasraw - 'fn_def_with_doc_impl full' /// fn_def_with_doc_impl short /// /// fn_def_with_doc_impl full fn fn_def_with_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.6: fn_def_without_doc' fn fn_def_without_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.7: fn_def_def_with_doc' // @hasraw - 'fn_def_def_with_doc short' // @!hasraw - 'fn_def_def_with_doc full' // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.8: fn_def_def_without_doc' } // @has foo/struct.Foo2.html pub struct Foo2; impl Bar for Foo2 { // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.3: fn_empty_with_doc' // @hasraw - 'fn_empty_with_doc short' // @!hasraw - 'fn_empty_with_doc full' fn fn_empty_with_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.4: fn_empty_without_doc' // @hasraw - 'fn_empty_without_doc_impl short' // @hasraw - 'fn_empty_without_doc_impl full' /// fn_empty_without_doc_impl short /// /// fn_empty_without_doc_impl full fn fn_empty_without_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.5: fn_def_with_doc' // @hasraw - 'fn_def_with_doc short' // @!hasraw - 'fn_def_with_doc full' fn fn_def_with_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.6: fn_def_without_doc' // @hasraw - 'fn_def_without_doc_impl short' // @hasraw - 'fn_def_without_doc_impl full' /// fn_def_without_doc_impl short /// /// fn_def_without_doc_impl full fn fn_def_without_doc() {} // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.7: fn_def_def_with_doc' // @hasraw - 'fn_def_def_with_doc short' // @!hasraw - 'fn_def_def_with_doc full' // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.0.8: fn_def_def_without_doc' }