From 4226930ddf54c4567b2eacc226d4eb897277afab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 28 Nov 2016 17:53:59 -0800 Subject: [PATCH] Show `Trait` instead of `` in E0323 For a given file ``` trait Foo { fn bar(&self); } pub struct FooConstForMethod; impl Foo for FooConstForMethod { const bar: u64 = 1; } ``` show ``` error[E0323]: item `bar` is an associated const, which doesn't match its trait `Foo` ``` instead of ``` error[E0323]: item `bar` is an associated const, which doesn't match its trait `` ``` --- src/librustc_typeck/check/mod.rs | 6 +++--- src/test/ui/span/impl-wrong-item-for-trait.stderr | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 2babb81bc407a..3c3f7e66e93e7 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -1090,7 +1090,7 @@ fn check_impl_items_against_trait<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, } else { let mut err = struct_span_err!(tcx.sess, impl_item.span, E0323, "item `{}` is an associated const, \ - which doesn't match its trait `{:?}`", + which doesn't match its trait `{}`", ty_impl_item.name, impl_trait_ref); err.span_label(impl_item.span, &format!("does not match trait")); @@ -1128,7 +1128,7 @@ fn check_impl_items_against_trait<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, } else { let mut err = struct_span_err!(tcx.sess, impl_item.span, E0324, "item `{}` is an associated method, \ - which doesn't match its trait `{:?}`", + which doesn't match its trait `{}`", ty_impl_item.name, impl_trait_ref); err.span_label(impl_item.span, &format!("does not match trait")); @@ -1146,7 +1146,7 @@ fn check_impl_items_against_trait<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, } else { let mut err = struct_span_err!(tcx.sess, impl_item.span, E0325, "item `{}` is an associated type, \ - which doesn't match its trait `{:?}`", + which doesn't match its trait `{}`", ty_impl_item.name, impl_trait_ref); err.span_label(impl_item.span, &format!("does not match trait")); diff --git a/src/test/ui/span/impl-wrong-item-for-trait.stderr b/src/test/ui/span/impl-wrong-item-for-trait.stderr index 244285e358453..ff6b75cd40a5e 100644 --- a/src/test/ui/span/impl-wrong-item-for-trait.stderr +++ b/src/test/ui/span/impl-wrong-item-for-trait.stderr @@ -1,4 +1,4 @@ -error[E0323]: item `bar` is an associated const, which doesn't match its trait `` +error[E0323]: item `bar` is an associated const, which doesn't match its trait `Foo` --> $DIR/impl-wrong-item-for-trait.rs:25:5 | 16 | fn bar(&self); @@ -16,7 +16,7 @@ error[E0046]: not all trait items implemented, missing: `bar` 22 | impl Foo for FooConstForMethod { | ^ missing `bar` in implementation -error[E0324]: item `MY_CONST` is an associated method, which doesn't match its trait `` +error[E0324]: item `MY_CONST` is an associated method, which doesn't match its trait `Foo` --> $DIR/impl-wrong-item-for-trait.rs:37:5 | 17 | const MY_CONST: u32; @@ -34,7 +34,7 @@ error[E0046]: not all trait items implemented, missing: `MY_CONST` 33 | impl Foo for FooMethodForConst { | ^ missing `MY_CONST` in implementation -error[E0325]: item `bar` is an associated type, which doesn't match its trait `` +error[E0325]: item `bar` is an associated type, which doesn't match its trait `Foo` --> $DIR/impl-wrong-item-for-trait.rs:47:5 | 16 | fn bar(&self);