| // `Self` as a constructor is currently allowed when the outer item is not generic. | |
| //@ check-pass | |
| struct S0(usize); | |
| impl S0 { | |
| fn foo() { | |
| const C: S0 = Self(0); | |
| //~^ WARN can't reference `Self` constructor from outer item | |
| //~| WARN this was previously accepted by the compiler but is being phased out | |
| fn bar() -> S0 { | |
| Self(0) | |
| //~^ WARN can't reference `Self` constructor from outer item | |
| //~| WARN this was previously accepted by the compiler but is being phased out | |
| } | |
| } | |
| } | |
| fn main() {} |