// `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); fn bar() -> S0 { Self(0) } } } fn main() {}