for leaf_ty in ty.walk() {
if let ty::TyParam(p) = leaf_ty.sty {
if p.space == space && p.idx >= index {
- span_err!(ccx.tcx.sess, path.span, E0128,
- "type parameters with a default cannot use \
- forward declared identifiers");
+ struct_span_err!(ccx.tcx.sess, path.span, E0128,
+ "type parameters with a default cannot use \
+ forward declared identifiers")
+ .span_label(path.span, &format!("defaulted type parameters \
+ cannot be forward declared"))
+ .emit();
return ccx.tcx.types.err
}
// except according to those terms.
struct Foo<T=U, U=()> { //~ ERROR E0128
+ //~| NOTE defaulted type parameters cannot be forward declared
field1: T,
field2: U,
}