From 0b248f1d29b218faf83699b7e0b1f696e8d32f55 Mon Sep 17 00:00:00 2001 From: "Panashe M. Fundira" Date: Sun, 7 Aug 2016 12:47:53 -0400 Subject: [PATCH] Update E0205 to the new error format --- src/librustc_typeck/coherence/mod.rs | 8 +++++--- src/test/compile-fail/E0205.rs | 9 +++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/librustc_typeck/coherence/mod.rs b/src/librustc_typeck/coherence/mod.rs index 2d14b0dacf24c..629edf3ff3bc8 100644 --- a/src/librustc_typeck/coherence/mod.rs +++ b/src/librustc_typeck/coherence/mod.rs @@ -318,11 +318,13 @@ impl<'a, 'gcx, 'tcx> CoherenceChecker<'a, 'gcx, 'tcx> { name) } Err(CopyImplementationError::InfrigingVariant(name)) => { - span_err!(tcx.sess, span, E0205, + struct_span_err!(tcx.sess, span, E0205, "the trait `Copy` may not be \ - implemented for this type; variant \ + implemented for this type") + .span_label(span, &format!("variant \ `{}` does not implement `Copy`", - name) + name)) + .emit() } Err(CopyImplementationError::NotAnAdt) => { span_err!(tcx.sess, span, E0206, diff --git a/src/test/compile-fail/E0205.rs b/src/test/compile-fail/E0205.rs index e4781bba08aab..37ac57af524a6 100644 --- a/src/test/compile-fail/E0205.rs +++ b/src/test/compile-fail/E0205.rs @@ -13,9 +13,14 @@ enum Foo { Baz, } -impl Copy for Foo { } //~ ERROR E0205 +impl Copy for Foo { } +//~^ ERROR E0205 +//~| NOTE variant `Bar` does not implement `Copy` -#[derive(Copy)] //~ ERROR E0205 +#[derive(Copy)] +//~^ ERROR E0205 +//~| NOTE variant `Bar` does not implement `Copy` +//~| NOTE in this expansion of #[derive(Copy)] enum Foo2<'a> { Bar(&'a mut bool), Baz,