error: use of deprecated item 'deprecation_lint::deprecated': text
  --> $DIR/deprecation-lint.rs:17:9
   |
LL |         deprecated();
   |         ^^^^^^^^^^
   |
note: lint level defined here
  --> $DIR/deprecation-lint.rs:4:9
   |
LL | #![deny(deprecated)]
   |         ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:22:9
   |
LL |         Trait::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:24:9
   |
LL |         <Foo as Trait>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::deprecated_text': text
  --> $DIR/deprecation-lint.rs:26:9
   |
LL |         deprecated_text();
   |         ^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:31:9
   |
LL |         Trait::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:33:9
   |
LL |         <Foo as Trait>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedStruct': text
  --> $DIR/deprecation-lint.rs:35:17
   |
LL |         let _ = DeprecatedStruct {
   |                 ^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedUnitStruct': text
  --> $DIR/deprecation-lint.rs:39:17
   |
LL |         let _ = DeprecatedUnitStruct;
   |                 ^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Enum::DeprecatedVariant': text
  --> $DIR/deprecation-lint.rs:41:17
   |
LL |         let _ = Enum::DeprecatedVariant;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedTupleStruct': text
  --> $DIR/deprecation-lint.rs:43:17
   |
LL |         let _ = DeprecatedTupleStruct (1);
   |                 ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::nested::DeprecatedStruct': text
  --> $DIR/deprecation-lint.rs:45:17
   |
LL |         let _ = nested::DeprecatedStruct {
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::nested::DeprecatedUnitStruct': text
  --> $DIR/deprecation-lint.rs:49:17
   |
LL |         let _ = nested::DeprecatedUnitStruct;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::nested::Enum::DeprecatedVariant': text
  --> $DIR/deprecation-lint.rs:51:17
   |
LL |         let _ = nested::Enum::DeprecatedVariant;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::nested::DeprecatedTupleStruct': text
  --> $DIR/deprecation-lint.rs:53:17
   |
LL |         let _ = nested::DeprecatedTupleStruct (1);
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::deprecated_text': text
  --> $DIR/deprecation-lint.rs:60:25
   |
LL |         macro_test_arg!(deprecated_text());
   |                         ^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::deprecated_text': text
  --> $DIR/deprecation-lint.rs:61:41
   |
LL |         macro_test_arg!(macro_test_arg!(deprecated_text()));
   |                                         ^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:66:9
   |
LL |         Trait::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:68:9
   |
LL |         <Foo as Trait>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:70:9
   |
LL |         Trait::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:72:9
   |
LL |         <Foo as Trait>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedTrait': text
  --> $DIR/deprecation-lint.rs:82:10
   |
LL |     impl DeprecatedTrait for S {}
   |          ^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedTrait': text
  --> $DIR/deprecation-lint.rs:83:24
   |
LL |     trait LocalTrait : DeprecatedTrait { }
   |                        ^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated': text
  --> $DIR/deprecation-lint.rs:114:17
   |
LL |         let x = Deprecated {
   |                 ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated': text
  --> $DIR/deprecation-lint.rs:123:13
   |
LL |         let Deprecated {
   |             ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated': text
  --> $DIR/deprecation-lint.rs:129:13
   |
LL |         let Deprecated
   |             ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated2': text
  --> $DIR/deprecation-lint.rs:133:17
   |
LL |         let x = Deprecated2(1, 2, 3);
   |                 ^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated2': text
  --> $DIR/deprecation-lint.rs:143:13
   |
LL |         let Deprecated2
   |             ^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated2': text
  --> $DIR/deprecation-lint.rs:152:13
   |
LL |         let Deprecated2
   |             ^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::deprecated_mod::deprecated': text
  --> $DIR/deprecation-lint.rs:163:9
   |
LL |         deprecated_mod::deprecated();
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::deprecated': text
  --> $DIR/deprecation-lint.rs:246:9
   |
LL |         deprecated();
   |         ^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:251:9
   |
LL |         Trait::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:253:9
   |
LL |         <Foo as Trait>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::deprecated_text': text
  --> $DIR/deprecation-lint.rs:255:9
   |
LL |         deprecated_text();
   |         ^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:260:9
   |
LL |         Trait::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:262:9
   |
LL |         <Foo as Trait>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::deprecated_future': text
  --> $DIR/deprecation-lint.rs:265:9
   |
LL |         deprecated_future();
   |         ^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::deprecated_future_text': text
  --> $DIR/deprecation-lint.rs:266:9
   |
LL |         deprecated_future_text();
   |         ^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::DeprecatedStruct': text
  --> $DIR/deprecation-lint.rs:268:17
   |
LL |         let _ = DeprecatedStruct {
   |                 ^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::DeprecatedUnitStruct': text
  --> $DIR/deprecation-lint.rs:273:17
   |
LL |         let _ = DeprecatedUnitStruct;
   |                 ^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Enum::DeprecatedVariant': text
  --> $DIR/deprecation-lint.rs:275:17
   |
LL |         let _ = Enum::DeprecatedVariant;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::DeprecatedTupleStruct': text
  --> $DIR/deprecation-lint.rs:277:17
   |
LL |         let _ = DeprecatedTupleStruct (1);
   |                 ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::nested::DeprecatedStruct': text
  --> $DIR/deprecation-lint.rs:279:17
   |
LL |         let _ = nested::DeprecatedStruct {
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::nested::DeprecatedUnitStruct': text
  --> $DIR/deprecation-lint.rs:284:17
   |
LL |         let _ = nested::DeprecatedUnitStruct;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::nested::Enum::DeprecatedVariant': text
  --> $DIR/deprecation-lint.rs:286:17
   |
LL |         let _ = nested::Enum::DeprecatedVariant;
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::nested::DeprecatedTupleStruct': text
  --> $DIR/deprecation-lint.rs:288:17
   |
LL |         let _ = nested::DeprecatedTupleStruct (1);
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:293:9
   |
LL |         Trait::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:295:9
   |
LL |         <Foo as Trait>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:297:9
   |
LL |         Trait::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:299:9
   |
LL |         <Foo as Trait>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::test_fn_closure_body::{{closure}}#0::bar'
  --> $DIR/deprecation-lint.rs:317:13
   |
LL |             bar();
   |             ^^^

error: use of deprecated item 'this_crate::DeprecatedTrait': text
  --> $DIR/deprecation-lint.rs:336:10
   |
LL |     impl DeprecatedTrait for S { }
   |          ^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::DeprecatedTrait': text
  --> $DIR/deprecation-lint.rs:338:24
   |
LL |     trait LocalTrait : DeprecatedTrait { }
   |                        ^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated': text
  --> $DIR/deprecation-lint.rs:390:17
   |
LL |         let x = Deprecated {
   |                 ^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated': text
  --> $DIR/deprecation-lint.rs:399:13
   |
LL |         let Deprecated {
   |             ^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated': text
  --> $DIR/deprecation-lint.rs:405:13
   |
LL |         let Deprecated
   |             ^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated2': text
  --> $DIR/deprecation-lint.rs:410:17
   |
LL |         let x = Deprecated2(1, 2, 3);
   |                 ^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated2': text
  --> $DIR/deprecation-lint.rs:420:13
   |
LL |         let Deprecated2
   |             ^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated2': text
  --> $DIR/deprecation-lint.rs:429:13
   |
LL |         let Deprecated2
   |             ^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:18:13
   |
LL |         foo.method_deprecated();
   |             ^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:19:9
   |
LL |         Foo::method_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:20:9
   |
LL |         <Foo>::method_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:21:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:23:9
   |
LL |         <Foo>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:27:13
   |
LL |         foo.method_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:28:9
   |
LL |         Foo::method_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:29:9
   |
LL |         <Foo>::method_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:30:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:32:9
   |
LL |         <Foo>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::DeprecatedStruct::i': text
  --> $DIR/deprecation-lint.rs:36:13
   |
LL |             i: 0
   |             ^^^^

error: use of deprecated item 'deprecation_lint::nested::DeprecatedStruct::i': text
  --> $DIR/deprecation-lint.rs:46:13
   |
LL |             i: 0
   |             ^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:65:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:67:9
   |
LL |         <Foo>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:69:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:71:9
   |
LL |         <Foo>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:76:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:77:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Stable::override2': text
  --> $DIR/deprecation-lint.rs:87:13
   |
LL |             override2: 3,
   |             ^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Stable::override2': text
  --> $DIR/deprecation-lint.rs:91:17
   |
LL |         let _ = x.override2;
   |                 ^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Stable::override2': text
  --> $DIR/deprecation-lint.rs:95:13
   |
LL |             override2: _
   |             ^^^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Stable2::2': text
  --> $DIR/deprecation-lint.rs:103:17
   |
LL |         let _ = x.2;
   |                 ^^^

error: use of deprecated item 'deprecation_lint::Stable2::2': text
  --> $DIR/deprecation-lint.rs:108:20
   |
LL |                    _)
   |                    ^

error: use of deprecated item 'deprecation_lint::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:116:13
   |
LL |             inherit: 1,
   |             ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:120:17
   |
LL |         let _ = x.inherit;
   |                 ^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:125:13
   |
LL |             inherit: _,
   |             ^^^^^^^^^^

error: use of deprecated item 'deprecation_lint::Deprecated2::0': text
  --> $DIR/deprecation-lint.rs:136:17
   |
LL |         let _ = x.0;
   |                 ^^^

error: use of deprecated item 'deprecation_lint::Deprecated2::1': text
  --> $DIR/deprecation-lint.rs:138:17
   |
LL |         let _ = x.1;
   |                 ^^^

error: use of deprecated item 'deprecation_lint::Deprecated2::2': text
  --> $DIR/deprecation-lint.rs:140:17
   |
LL |         let _ = x.2;
   |                 ^^^

error: use of deprecated item 'deprecation_lint::Deprecated2::0': text
  --> $DIR/deprecation-lint.rs:145:14
   |
LL |             (_,
   |              ^

error: use of deprecated item 'deprecation_lint::Deprecated2::1': text
  --> $DIR/deprecation-lint.rs:147:14
   |
LL |              _,
   |              ^

error: use of deprecated item 'deprecation_lint::Deprecated2::2': text
  --> $DIR/deprecation-lint.rs:149:14
   |
LL |              _)
   |              ^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:247:13
   |
LL |         foo.method_deprecated();
   |             ^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:248:9
   |
LL |         Foo::method_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated': text
  --> $DIR/deprecation-lint.rs:249:9
   |
LL |         <Foo>::method_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:250:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:252:9
   |
LL |         <Foo>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:256:13
   |
LL |         foo.method_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:257:9
   |
LL |         Foo::method_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::MethodTester::method_deprecated_text': text
  --> $DIR/deprecation-lint.rs:258:9
   |
LL |         <Foo>::method_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:259:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:261:9
   |
LL |         <Foo>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::DeprecatedStruct::i': text
  --> $DIR/deprecation-lint.rs:270:13
   |
LL |             i: 0
   |             ^^^^

error: use of deprecated item 'this_crate::nested::DeprecatedStruct::i': text
  --> $DIR/deprecation-lint.rs:281:13
   |
LL |             i: 0
   |             ^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:292:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:294:9
   |
LL |         <Foo>::trait_deprecated(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:296:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:298:9
   |
LL |         <Foo>::trait_deprecated_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated': text
  --> $DIR/deprecation-lint.rs:303:13
   |
LL |         foo.trait_deprecated();
   |             ^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate::Trait::trait_deprecated_text': text
  --> $DIR/deprecation-lint.rs:304:13
   |
LL |         foo.trait_deprecated_text();
   |             ^^^^^^^^^^^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Stable::override2': text
  --> $DIR/deprecation-lint.rs:363:13
   |
LL |             override2: 3,
   |             ^^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Stable::override2': text
  --> $DIR/deprecation-lint.rs:367:17
   |
LL |         let _ = x.override2;
   |                 ^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Stable::override2': text
  --> $DIR/deprecation-lint.rs:371:13
   |
LL |             override2: _
   |             ^^^^^^^^^^^^

error: use of deprecated item 'this_crate2::Stable2::2': text
  --> $DIR/deprecation-lint.rs:379:17
   |
LL |         let _ = x.2;
   |                 ^^^

error: use of deprecated item 'this_crate2::Stable2::2': text
  --> $DIR/deprecation-lint.rs:384:20
   |
LL |                    _)
   |                    ^

error: use of deprecated item 'this_crate2::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:392:13
   |
LL |             inherit: 1,
   |             ^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:396:17
   |
LL |         let _ = x.inherit;
   |                 ^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated::inherit': text
  --> $DIR/deprecation-lint.rs:401:13
   |
LL |             inherit: _,
   |             ^^^^^^^^^^

error: use of deprecated item 'this_crate2::Deprecated2::0': text
  --> $DIR/deprecation-lint.rs:413:17
   |
LL |         let _ = x.0;
   |                 ^^^

error: use of deprecated item 'this_crate2::Deprecated2::1': text
  --> $DIR/deprecation-lint.rs:415:17
   |
LL |         let _ = x.1;
   |                 ^^^

error: use of deprecated item 'this_crate2::Deprecated2::2': text
  --> $DIR/deprecation-lint.rs:417:17
   |
LL |         let _ = x.2;
   |                 ^^^

error: use of deprecated item 'this_crate2::Deprecated2::0': text
  --> $DIR/deprecation-lint.rs:422:14
   |
LL |             (_,
   |              ^

error: use of deprecated item 'this_crate2::Deprecated2::1': text
  --> $DIR/deprecation-lint.rs:424:14
   |
LL |              _,
   |              ^

error: use of deprecated item 'this_crate2::Deprecated2::2': text
  --> $DIR/deprecation-lint.rs:426:14
   |
LL |              _)
   |              ^

error: aborting due to 122 previous errors

