diff --git a/src/librustc_typeck/check/intrinsic.rs b/src/librustc_typeck/check/intrinsic.rs index 8a53c59b4c7f..9051b1c8069b 100644 --- a/src/librustc_typeck/check/intrinsic.rs +++ b/src/librustc_typeck/check/intrinsic.rs @@ -97,8 +97,10 @@ pub fn check_intrinsic_type(ccx: &CrateCtxt, it: &hir::ForeignItem) { (0, Vec::new(), tcx.mk_nil()) } op => { - span_err!(tcx.sess, it.span, E0092, - "unrecognized atomic operation function: `{}`", op); + struct_span_err!(tcx.sess, it.span, E0092, + "unrecognized atomic operation function: `{}`", op) + .span_label(it.span, &format!("unrecognized atomic operation")) + .emit(); return; } }; diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 4bb36aa639c5..b1362e1d0b82 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -4637,9 +4637,11 @@ pub fn check_bounds_are_used<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, for (i, b) in tps_used.iter().enumerate() { if !*b { - span_err!(ccx.tcx.sess, tps[i].span, E0091, + struct_span_err!(ccx.tcx.sess, tps[i].span, E0091, "type parameter `{}` is unused", - tps[i].name); + tps[i].name) + .span_label(tps[i].span, &format!("unused type parameter")) + .emit(); } } } diff --git a/src/test/compile-fail/E0091.rs b/src/test/compile-fail/E0091.rs index da988dbf819a..0d6c246de2a0 100644 --- a/src/test/compile-fail/E0091.rs +++ b/src/test/compile-fail/E0091.rs @@ -9,7 +9,9 @@ // except according to those terms. type Foo = u32; //~ ERROR E0091 + //~| NOTE unused type parameter type Foo2 = Box; //~ ERROR E0091 + //~| NOTE unused type parameter fn main() { }