error: unnecessary structure name repetition
  --> $DIR/use_self.rs:13:21
   |
LL |         fn new() -> Foo {
   |                     ^^^ help: use the applicable keyword: `Self`
   |
   = note: `-D clippy::use-self` implied by `-D warnings`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:14:13
   |
LL |             Foo {}
   |             ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:16:22
   |
LL |         fn test() -> Foo {
   |                      ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:17:13
   |
LL |             Foo::new()
   |             ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:22:25
   |
LL |         fn default() -> Foo {
   |                         ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:23:13
   |
LL |             Foo::new()
   |             ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:88:22
   |
LL |         fn refs(p1: &Bad) -> &Bad {
   |                      ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:88:31
   |
LL |         fn refs(p1: &Bad) -> &Bad {
   |                               ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:92:37
   |
LL |         fn ref_refs<'a>(p1: &'a &'a Bad) -> &'a &'a Bad {
   |                                     ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:92:53
   |
LL |         fn ref_refs<'a>(p1: &'a &'a Bad) -> &'a &'a Bad {
   |                                                     ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:96:30
   |
LL |         fn mut_refs(p1: &mut Bad) -> &mut Bad {
   |                              ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:96:43
   |
LL |         fn mut_refs(p1: &mut Bad) -> &mut Bad {
   |                                           ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:100:28
   |
LL |         fn nested(_p1: Box<Bad>, _p2: (&u8, &Bad)) {}
   |                            ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:100:46
   |
LL |         fn nested(_p1: Box<Bad>, _p2: (&u8, &Bad)) {}
   |                                              ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:102:20
   |
LL |         fn vals(_: Bad) -> Bad {
   |                    ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:102:28
   |
LL |         fn vals(_: Bad) -> Bad {
   |                            ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:103:13
   |
LL |             Bad::default()
   |             ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:108:23
   |
LL |         type Output = Bad;
   |                       ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:110:27
   |
LL |         fn mul(self, rhs: Bad) -> Bad {
   |                           ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:110:35
   |
LL |         fn mul(self, rhs: Bad) -> Bad {
   |                                   ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:202:56
   |
LL |         fn bad(foos: &[Self]) -> impl Iterator<Item = &Foo> {
   |                                                        ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:217:13
   |
LL |             TS(0)
   |             ^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:225:25
   |
LL |             fn new() -> Foo {
   |                         ^^^ help: use the applicable keyword: `Self`
...
LL |         use_self_expand!(); // Should lint in local macros
   |         ------------------- in this macro invocation

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:226:17
   |
LL |                 Foo {}
   |                 ^^^ help: use the applicable keyword: `Self`
...
LL |         use_self_expand!(); // Should lint in local macros
   |         ------------------- in this macro invocation

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:248:29
   |
LL |                 fn bar() -> Bar {
   |                             ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:249:21
   |
LL |                     Bar { foo: Foo {} }
   |                     ^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:293:13
   |
LL |             nested::A::fun_1();
   |             ^^^^^^^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:294:13
   |
LL |             nested::A::A;
   |             ^^^^^^^^^ help: use the applicable keyword: `Self`

error: unnecessary structure name repetition
  --> $DIR/use_self.rs:296:13
   |
LL |             nested::A {};
   |             ^^^^^^^^^ help: use the applicable keyword: `Self`

error: aborting due to 29 previous errors