| error[E0401]: can't use generic parameters from outer item | |
| --> $DIR/E0401.rs:4:39 | |
| | | |
| LL | fn foo<T>(x: T) { | |
| | - type parameter from outer item | |
| LL | fn bfnr<U, V: Baz<U>, W: Fn()>(y: T) { | |
| | ---- ^ use of generic parameter from outer item | |
| | | | |
| | generic parameter used in this inner function | |
| | | |
| = note: nested items are independent from their parent item for everything except for privacy and name resolution | |
| help: try introducing a local generic parameter here | |
| | | |
| LL | fn bfnr<T, U, V: Baz<U>, W: Fn()>(y: T) { | |
| | ++ | |
| error[E0401]: can't use generic parameters from outer item | |
| --> $DIR/E0401.rs:9:16 | |
| | | |
| LL | fn foo<T>(x: T) { | |
| | - type parameter from outer item | |
| ... | |
| LL | fn baz<U, | |
| | --- generic parameter used in this inner function | |
| ... | |
| LL | (y: T) { | |
| | ^ use of generic parameter from outer item | |
| | | |
| = note: nested items are independent from their parent item for everything except for privacy and name resolution | |
| help: try introducing a local generic parameter here | |
| | | |
| LL | fn baz<T, U, | |
| | ++ | |
| error[E0401]: can't use `Self` from outer item | |
| --> $DIR/E0401.rs:22:25 | |
| | | |
| LL | impl<T> Iterator for A<T> { | |
| | ---- `Self` type implicitly declared here, by this `impl` | |
| ... | |
| LL | fn helper(sel: &Self) -> u8 { | |
| | ------ ^^^^ use of `Self` from outer item | |
| | | | |
| | `Self` used in this inner function | |
| | | |
| = note: nested items are independent from their parent item for everything except for privacy and name resolution | |
| help: refer to the type directly here instead | |
| | | |
| LL - fn helper(sel: &Self) -> u8 { | |
| LL + fn helper(sel: &A<T>) -> u8 { | |
| | | |
| error: aborting due to 3 previous errors | |
| For more information about this error, try `rustc --explain E0401`. |