error[E0401]: can't use generic parameters from outer item --> $DIR/E0401.rs:4:39 | LL | fn foo(x: T) { | - type parameter from outer item LL | fn bfnr, W: Fn()>(y: T) { | - ^ use of generic parameter from outer item | | | help: try introducing a local generic parameter here: `T,` error[E0401]: can't use generic parameters from outer item --> $DIR/E0401.rs:9:16 | LL | fn foo(x: T) { | - type parameter from outer item ... LL | fn baz $DIR/E0401.rs:22:25 | LL | impl Iterator for A { | ---- `Self` type implicitly declared here, by this `impl` ... LL | fn helper(sel: &Self) -> u8 { | ^^^^ | | | use of `Self` from outer item | refer to the type directly here instead error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0401`.