diff options
Diffstat (limited to 'src/test/ui/traits/issue-33140-hack-boundaries.rs')
-rw-r--r-- | src/test/ui/traits/issue-33140-hack-boundaries.rs | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/test/ui/traits/issue-33140-hack-boundaries.rs b/src/test/ui/traits/issue-33140-hack-boundaries.rs deleted file mode 100644 index d091162fc..000000000 --- a/src/test/ui/traits/issue-33140-hack-boundaries.rs +++ /dev/null @@ -1,70 +0,0 @@ -#![feature(negative_impls)] -#![allow(order_dependent_trait_objects)] - -// Check that the issue #33140 hack does not allow unintended things. - -// OK -trait Trait0 {} - -impl Trait0 for dyn Send {} -impl Trait0 for dyn Send {} - -// Problem 1: associated types -trait Trait1 { - fn my_fn(&self) {} -} - -impl Trait1 for dyn Send {} -impl Trait1 for dyn Send {} -//~^ ERROR E0119 - -// Problem 2: negative impl -trait Trait2 {} - -impl Trait2 for dyn Send {} -impl !Trait2 for dyn Send {} -//~^ ERROR E0751 - -// Problem 3: type parameter -trait Trait3<T: ?Sized> {} - -impl Trait3<dyn Sync> for dyn Send {} -impl Trait3<dyn Sync> for dyn Send {} -//~^ ERROR E0119 - -// Problem 4a: not a trait object - generic -trait Trait4a {} - -impl<T: ?Sized> Trait4a for T {} -impl Trait4a for dyn Send {} -//~^ ERROR E0119 - -// Problem 4b: not a trait object - misc -trait Trait4b {} - -impl Trait4b for () {} -impl Trait4b for () {} -//~^ ERROR E0119 - -// Problem 4c: not a principal-less trait object -trait Trait4c {} - -impl Trait4c for dyn Trait1 + Send {} -impl Trait4c for dyn Trait1 + Send {} -//~^ ERROR E0119 - -// Problem 4d: lifetimes -trait Trait4d {} - -impl<'a> Trait4d for dyn Send + 'a {} -impl<'a> Trait4d for dyn Send + 'a {} -//~^ ERROR E0119 - -// Problem 5: where-clauses -trait Trait5 {} - -impl Trait5 for dyn Send {} -impl Trait5 for dyn Send where u32: Copy {} -//~^ ERROR E0119 - -fn main() {} |