Skip to content

Commit

Permalink
Rollup merge of rust-lang#35672 - yossi-k:issue/35323, r=GuillaumeGomez
Browse files Browse the repository at this point in the history
Update E0322 to new format

Fixes rust-lang#35323. Part of rust-lang#35233.
r? @GuillaumeGomez
  • Loading branch information
Jonathan Turner authored Aug 17, 2016
2 parents f4ddca8 + 5286a5a commit 5010efb
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/librustc_typeck/coherence/orphan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,10 @@ impl<'cx, 'tcx> OrphanChecker<'cx, 'tcx> {

// 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() {
Expand Down
3 changes: 3 additions & 0 deletions src/test/compile-fail/coherence-impls-sized.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,15 @@ struct NotSync;
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

Expand Down

0 comments on commit 5010efb

Please sign in to comment.