error: expected identifier, found reserved identifier `_` --> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | LL | fn mainIterator<_ = _> {} | ^ expected identifier, found reserved identifier error: missing parameters for function definition --> $DIR/overlapping-errors-span-issue-123861.rs:1:23 | LL | fn mainIterator<_ = _> {} | ^ | help: add a parameter list | LL | fn mainIterator<_ = _>() {} | ++ error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions --> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | LL | fn mainIterator<_ = _> {} | ^^^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #36887 = note: `#[deny(invalid_type_param_default)]` on by default error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions --> $DIR/overlapping-errors-span-issue-123861.rs:1:21 | LL | fn mainIterator<_ = _> {} | ^ not allowed in type signatures | help: use type parameters instead | LL - fn mainIterator<_ = _> {} LL + fn mainIterator {} | error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0121`. Future incompatibility report: Future breakage diagnostic: error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions --> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | LL | fn mainIterator<_ = _> {} | ^^^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #36887 = note: `#[deny(invalid_type_param_default)]` on by default