E0128 update error format

This commit is contained in:
Chris Stankus 2016-08-09 15:12:46 -05:00
parent f0139140f6
commit 766a0ab651
3 changed files with 8 additions and 3 deletions

View File

@ -1901,9 +1901,12 @@ fn convert_default_type_parameter<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>,
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
}

View File

@ -9,6 +9,7 @@
// except according to those terms.
struct Foo<T=U, U=()> { //~ ERROR E0128
//~| NOTE defaulted type parameters cannot be forward declared
field1: T,
field2: U,
}

View File

@ -9,5 +9,6 @@
// except according to those terms.
pub struct Foo<Bar=Bar>; //~ ERROR E0128
//~| NOTE defaulted type parameters cannot be forward declared
pub struct Baz(Foo);
fn main() {}