//@ check-pass //@ edition:2021 trait Uto {} struct Test; type A = [u32; { impl Uto for *mut Test {} //~^ WARN non-local `impl` definition 1 }]; enum Enum { Discr = { impl Uto for Test {} //~^ WARN non-local `impl` definition 1 } } fn main() { let _array = [0i32; { impl Test { //~^ WARN non-local `impl` definition fn bar() {} } 1 }]; type A = [u32; { impl Uto for &Test {} //~^ WARN non-local `impl` definition 1 }]; fn a(_: [u32; { impl Uto for &(Test,) {} //~^ WARN non-local `impl` definition 1 }]) {} fn b() -> [u32; { impl Uto for &(Test,Test) {} //~^ WARN non-local `impl` definition 1 }] { todo!() } }