Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove the coherence impls pass that was specialized to builtin bounds,
since there are separate checks that apply to Copy (and Send uses the generic defaulted trait rules). Also prohibit `Sized` from being manually implemented for now.
- Loading branch information
1 parent
2e21689
commit 4e789e0
Showing
11 changed files
with
184 additions
and
90 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
#![feature(optin_builtin_traits)] | ||
|
||
use std::marker::Copy; | ||
|
||
enum TestE { | ||
A | ||
} | ||
|
||
struct MyType; | ||
|
||
struct NotSync; | ||
impl !Sync for NotSync {} | ||
|
||
impl Copy for TestE {} | ||
impl Copy for MyType {} | ||
impl Copy for (MyType, MyType) {} | ||
//~^ ERROR E0206 | ||
|
||
impl Copy for &'static NotSync {} | ||
//~^ ERROR E0206 | ||
|
||
impl Copy for [MyType] {} | ||
//~^ ERROR E0206 | ||
|
||
impl Copy for &'static [NotSync] {} | ||
//~^ ERROR E0206 | ||
|
||
fn main() { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
#![feature(optin_builtin_traits)] | ||
|
||
use std::marker::Copy; | ||
|
||
enum TestE { | ||
A | ||
} | ||
|
||
struct MyType; | ||
|
||
struct NotSync; | ||
impl !Sync for NotSync {} | ||
|
||
impl Sized for TestE {} //~ ERROR E0322 | ||
impl Sized for MyType {} //~ ERROR E0322 | ||
impl Sized for (MyType, MyType) {} //~ ERROR E0322 | ||
impl Sized for &'static NotSync {} //~ ERROR E0322 | ||
impl Sized for [MyType] {} //~ ERROR E0322 | ||
//~^ ERROR E0277 | ||
impl Sized for &'static [NotSync] {} //~ ERROR E0322 | ||
|
||
fn main() { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.