// Disallow *all* explicit impls of `Sized` and `Unsize` for now.
if Some(trait_def_id) == self.tcx.lang_items.sized_trait() {
- span_err!(self.tcx.sess, item.span, E0322,
- "explicit impls for the `Sized` trait are not permitted");
+ struct_span_err!(self.tcx.sess, item.span, E0322,
+ "explicit impls for the `Sized` trait are not permitted")
+ .span_label(item.span, &format!("impl of 'Sized' not allowed"))
+ .emit();
return;
}
if Some(trait_def_id) == self.tcx.lang_items.unsize_trait() {
impl !Sync for NotSync {}
impl Sized for TestE {} //~ ERROR E0322
+//~^ impl of 'Sized' not allowed
impl Sized for MyType {} //~ ERROR E0322
+//~^ impl of 'Sized' not allowed
impl Sized for (MyType, MyType) {} //~ ERROR E0117
impl Sized for &'static NotSync {} //~ ERROR E0322
+//~^ impl of 'Sized' not allowed
impl Sized for [MyType] {} //~ ERROR E0117