From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../auxiliary/specialization-trait.rs | 6 ---- .../min_specialization/dyn-trait-assoc-types.rs | 32 --------------------- .../dyn-trait-assoc-types.stderr | 14 --------- .../min_specialization/impl-on-nonexisting.rs | 7 ----- .../min_specialization/impl-on-nonexisting.stderr | 9 ------ .../impl_specialization_trait.rs | 16 ----------- .../impl_specialization_trait.stderr | 10 ------- .../implcit-well-formed-bounds.rs | 30 -------------------- .../min_specialization/issue-79224.rs | 24 ---------------- .../min_specialization/issue-79224.stderr | 33 ---------------------- .../min_specialization/repeated_projection_type.rs | 24 ---------------- .../repeated_projection_type.stderr | 8 ------ .../min_specialization/repeating_lifetimes.rs | 19 ------------- .../min_specialization/repeating_lifetimes.stderr | 8 ------ .../min_specialization/repeating_param.rs | 17 ----------- .../min_specialization/repeating_param.stderr | 8 ------ .../specialization/min_specialization/spec-iter.rs | 20 ------------- .../min_specialization/spec-marker-supertraits.rs | 29 ------------------- .../spec-marker-supertraits.stderr | 8 ------ .../min_specialization/spec-reference.rs | 19 ------------- .../min_specialization/specialization_marker.rs | 17 ----------- .../specialization_marker.stderr | 15 ---------- .../specialization_super_trait.rs | 18 ------------ .../specialization_super_trait.stderr | 8 ------ .../min_specialization/specialization_trait.rs | 26 ----------------- .../min_specialization/specialization_trait.stderr | 20 ------------- .../min_specialization/specialize_on_marker.rs | 24 ---------------- .../min_specialization/specialize_on_spec_trait.rs | 27 ------------------ .../min_specialization/specialize_on_static.rs | 18 ------------ .../min_specialization/specialize_on_static.stderr | 8 ------ .../min_specialization/specialize_on_trait.rs | 20 ------------- .../min_specialization/specialize_on_trait.stderr | 8 ------ 32 files changed, 550 deletions(-) delete mode 100644 src/test/ui/specialization/min_specialization/auxiliary/specialization-trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.rs delete mode 100644 src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.stderr delete mode 100644 src/test/ui/specialization/min_specialization/impl-on-nonexisting.rs delete mode 100644 src/test/ui/specialization/min_specialization/impl-on-nonexisting.stderr delete mode 100644 src/test/ui/specialization/min_specialization/impl_specialization_trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/impl_specialization_trait.stderr delete mode 100644 src/test/ui/specialization/min_specialization/implcit-well-formed-bounds.rs delete mode 100644 src/test/ui/specialization/min_specialization/issue-79224.rs delete mode 100644 src/test/ui/specialization/min_specialization/issue-79224.stderr delete mode 100644 src/test/ui/specialization/min_specialization/repeated_projection_type.rs delete mode 100644 src/test/ui/specialization/min_specialization/repeated_projection_type.stderr delete mode 100644 src/test/ui/specialization/min_specialization/repeating_lifetimes.rs delete mode 100644 src/test/ui/specialization/min_specialization/repeating_lifetimes.stderr delete mode 100644 src/test/ui/specialization/min_specialization/repeating_param.rs delete mode 100644 src/test/ui/specialization/min_specialization/repeating_param.stderr delete mode 100644 src/test/ui/specialization/min_specialization/spec-iter.rs delete mode 100644 src/test/ui/specialization/min_specialization/spec-marker-supertraits.rs delete mode 100644 src/test/ui/specialization/min_specialization/spec-marker-supertraits.stderr delete mode 100644 src/test/ui/specialization/min_specialization/spec-reference.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialization_marker.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialization_marker.stderr delete mode 100644 src/test/ui/specialization/min_specialization/specialization_super_trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialization_super_trait.stderr delete mode 100644 src/test/ui/specialization/min_specialization/specialization_trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialization_trait.stderr delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_marker.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_spec_trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_static.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_static.stderr delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_trait.rs delete mode 100644 src/test/ui/specialization/min_specialization/specialize_on_trait.stderr (limited to 'src/test/ui/specialization/min_specialization') diff --git a/src/test/ui/specialization/min_specialization/auxiliary/specialization-trait.rs b/src/test/ui/specialization/min_specialization/auxiliary/specialization-trait.rs deleted file mode 100644 index 6ec0d261d..000000000 --- a/src/test/ui/specialization/min_specialization/auxiliary/specialization-trait.rs +++ /dev/null @@ -1,6 +0,0 @@ -#![feature(rustc_attrs)] - -#[rustc_specialization_trait] -pub trait SpecTrait { - fn method(&self); -} diff --git a/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.rs b/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.rs deleted file mode 100644 index 03cab00b0..000000000 --- a/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Test that associated types in trait objects are not considered to be -// constrained. - -#![feature(min_specialization)] - -trait Specializable { - fn f(); -} - -trait B { - type Y; -} - -trait C { - type Y; -} - -impl Specializable for A { - default fn f() {} -} - -impl<'a, T> Specializable for dyn B + 'a { - //~^ ERROR specializing impl repeats parameter `T` - fn f() {} -} - -impl<'a, T> Specializable for dyn C + 'a { - //~^ ERROR specializing impl repeats parameter `T` - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.stderr b/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.stderr deleted file mode 100644 index db5558f16..000000000 --- a/src/test/ui/specialization/min_specialization/dyn-trait-assoc-types.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: specializing impl repeats parameter `T` - --> $DIR/dyn-trait-assoc-types.rs:22:1 - | -LL | impl<'a, T> Specializable for dyn B + 'a { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: specializing impl repeats parameter `T` - --> $DIR/dyn-trait-assoc-types.rs:27:1 - | -LL | impl<'a, T> Specializable for dyn C + 'a { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/specialization/min_specialization/impl-on-nonexisting.rs b/src/test/ui/specialization/min_specialization/impl-on-nonexisting.rs deleted file mode 100644 index 77a64320d..000000000 --- a/src/test/ui/specialization/min_specialization/impl-on-nonexisting.rs +++ /dev/null @@ -1,7 +0,0 @@ -#![feature(min_specialization)] - -trait Trait {} -impl Trait for NonExistent {} -//~^ ERROR cannot find type `NonExistent` in this scope - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/impl-on-nonexisting.stderr b/src/test/ui/specialization/min_specialization/impl-on-nonexisting.stderr deleted file mode 100644 index b032ccbe5..000000000 --- a/src/test/ui/specialization/min_specialization/impl-on-nonexisting.stderr +++ /dev/null @@ -1,9 +0,0 @@ -error[E0412]: cannot find type `NonExistent` in this scope - --> $DIR/impl-on-nonexisting.rs:4:16 - | -LL | impl Trait for NonExistent {} - | ^^^^^^^^^^^ not found in this scope - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/specialization/min_specialization/impl_specialization_trait.rs b/src/test/ui/specialization/min_specialization/impl_specialization_trait.rs deleted file mode 100644 index 723ed71c3..000000000 --- a/src/test/ui/specialization/min_specialization/impl_specialization_trait.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Check that specialization traits can't be implemented without a feature. - -// gate-test-min_specialization - -// aux-build:specialization-trait.rs - -extern crate specialization_trait; - -struct A {} - -impl specialization_trait::SpecTrait for A { - //~^ ERROR implementing `rustc_specialization_trait` traits is unstable - fn method(&self) {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/impl_specialization_trait.stderr b/src/test/ui/specialization/min_specialization/impl_specialization_trait.stderr deleted file mode 100644 index 934103d49..000000000 --- a/src/test/ui/specialization/min_specialization/impl_specialization_trait.stderr +++ /dev/null @@ -1,10 +0,0 @@ -error: implementing `rustc_specialization_trait` traits is unstable - --> $DIR/impl_specialization_trait.rs:11:1 - | -LL | impl specialization_trait::SpecTrait for A { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = help: add `#![feature(min_specialization)]` to the crate attributes to enable - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/implcit-well-formed-bounds.rs b/src/test/ui/specialization/min_specialization/implcit-well-formed-bounds.rs deleted file mode 100644 index 98d7f9194..000000000 --- a/src/test/ui/specialization/min_specialization/implcit-well-formed-bounds.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Test that specializing on the well-formed predicates of the trait and -// self-type of an impl is allowed. - -// check-pass - -#![feature(min_specialization)] - -struct OrdOnly(T); - -trait SpecTrait { - fn f(); -} - -impl SpecTrait for T { - default fn f() {} -} - -impl SpecTrait<()> for OrdOnly { - fn f() {} -} - -impl SpecTrait> for () { - fn f() {} -} - -impl SpecTrait<(OrdOnly, OrdOnly)> for &[OrdOnly] { - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/issue-79224.rs b/src/test/ui/specialization/min_specialization/issue-79224.rs deleted file mode 100644 index 408732fe9..000000000 --- a/src/test/ui/specialization/min_specialization/issue-79224.rs +++ /dev/null @@ -1,24 +0,0 @@ -#![feature(min_specialization)] -use std::fmt::{self, Display}; - -pub enum Cow<'a, B: ?Sized + 'a, O = ::Owned> -where - B: ToOwned, -{ - Borrowed(&'a B), - Owned(O), -} - -impl ToString for Cow<'_, str> { - fn to_string(&self) -> String { - String::new() - } -} - -impl Display for Cow<'_, B> { //~ ERROR: the trait bound `B: Clone` is not satisfied [E0277] - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { //~ ERROR: the trait bound `B: Clone` is not satisfied [E0277] - write!(f, "foo") - } -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/issue-79224.stderr b/src/test/ui/specialization/min_specialization/issue-79224.stderr deleted file mode 100644 index fd34a59d2..000000000 --- a/src/test/ui/specialization/min_specialization/issue-79224.stderr +++ /dev/null @@ -1,33 +0,0 @@ -error[E0277]: the trait bound `B: Clone` is not satisfied - --> $DIR/issue-79224.rs:18:1 - | -LL | / impl Display for Cow<'_, B> { -LL | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { -LL | | write!(f, "foo") -LL | | } -LL | | } - | |_^ the trait `Clone` is not implemented for `B` - | - = note: required for `B` to implement `ToOwned` -help: consider further restricting this bound - | -LL | impl Display for Cow<'_, B> { - | +++++++++++++++++++ - -error[E0277]: the trait bound `B: Clone` is not satisfied - --> $DIR/issue-79224.rs:19:5 - | -LL | / fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { -LL | | write!(f, "foo") -LL | | } - | |_____^ the trait `Clone` is not implemented for `B` - | - = note: required for `B` to implement `ToOwned` -help: consider further restricting this bound - | -LL | impl Display for Cow<'_, B> { - | +++++++++++++++++++ - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/specialization/min_specialization/repeated_projection_type.rs b/src/test/ui/specialization/min_specialization/repeated_projection_type.rs deleted file mode 100644 index f21f39f06..000000000 --- a/src/test/ui/specialization/min_specialization/repeated_projection_type.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Test that projection bounds can't be specialized on. - -#![feature(min_specialization)] - -trait X { - fn f(); -} -trait Id { - type This; -} -impl Id for T { - type This = T; -} - -impl X for T { - default fn f() {} -} - -impl> X for V { - //~^ ERROR cannot specialize on - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr b/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr deleted file mode 100644 index a751ba793..000000000 --- a/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: cannot specialize on associated type `::This == (I,)` - --> $DIR/repeated_projection_type.rs:19:15 - | -LL | impl> X for V { - | ^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/repeating_lifetimes.rs b/src/test/ui/specialization/min_specialization/repeating_lifetimes.rs deleted file mode 100644 index 49bfacec0..000000000 --- a/src/test/ui/specialization/min_specialization/repeating_lifetimes.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Test that directly specializing on repeated lifetime parameters is not -// allowed. - -#![feature(min_specialization)] - -trait X { - fn f(); -} - -impl X for T { - default fn f() {} -} - -impl<'a> X for (&'a u8, &'a u8) { - //~^ ERROR specializing impl repeats parameter `'a` - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/repeating_lifetimes.stderr b/src/test/ui/specialization/min_specialization/repeating_lifetimes.stderr deleted file mode 100644 index 16dccb10b..000000000 --- a/src/test/ui/specialization/min_specialization/repeating_lifetimes.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: specializing impl repeats parameter `'a` - --> $DIR/repeating_lifetimes.rs:14:1 - | -LL | impl<'a> X for (&'a u8, &'a u8) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/repeating_param.rs b/src/test/ui/specialization/min_specialization/repeating_param.rs deleted file mode 100644 index 5a1c97fd3..000000000 --- a/src/test/ui/specialization/min_specialization/repeating_param.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Test that specializing on two type parameters being equal is not allowed. - -#![feature(min_specialization)] - -trait X { - fn f(); -} - -impl X for T { - default fn f() {} -} -impl X for (T, T) { - //~^ ERROR specializing impl repeats parameter `T` - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/repeating_param.stderr b/src/test/ui/specialization/min_specialization/repeating_param.stderr deleted file mode 100644 index 5e6adf723..000000000 --- a/src/test/ui/specialization/min_specialization/repeating_param.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: specializing impl repeats parameter `T` - --> $DIR/repeating_param.rs:12:1 - | -LL | impl X for (T, T) { - | ^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/spec-iter.rs b/src/test/ui/specialization/min_specialization/spec-iter.rs deleted file mode 100644 index e17e9dd5f..000000000 --- a/src/test/ui/specialization/min_specialization/spec-iter.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Check that we can specialize on a concrete iterator type. This requires us -// to consider which parameters in the parent impl are constrained. - -// check-pass - -#![feature(min_specialization)] - -trait SpecFromIter { - fn f(&self); -} - -impl<'a, T: 'a, I: Iterator> SpecFromIter for I { - default fn f(&self) {} -} - -impl<'a, T> SpecFromIter for std::slice::Iter<'a, T> { - fn f(&self) {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/spec-marker-supertraits.rs b/src/test/ui/specialization/min_specialization/spec-marker-supertraits.rs deleted file mode 100644 index 3bb2480e9..000000000 --- a/src/test/ui/specialization/min_specialization/spec-marker-supertraits.rs +++ /dev/null @@ -1,29 +0,0 @@ -// Check that supertraits cannot be used to work around min_specialization -// limitations. - -#![feature(min_specialization)] -#![feature(rustc_attrs)] - -trait HasMethod { - fn method(&self); -} - -#[rustc_unsafe_specialization_marker] -trait Marker: HasMethod {} - -trait Spec { - fn spec_me(&self); -} - -impl Spec for T { - default fn spec_me(&self) {} -} - -impl Spec for T { - //~^ ERROR cannot specialize on trait `HasMethod` - fn spec_me(&self) { - self.method(); - } -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/spec-marker-supertraits.stderr b/src/test/ui/specialization/min_specialization/spec-marker-supertraits.stderr deleted file mode 100644 index ba9d6bbe3..000000000 --- a/src/test/ui/specialization/min_specialization/spec-marker-supertraits.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: cannot specialize on trait `HasMethod` - --> $DIR/spec-marker-supertraits.rs:22:9 - | -LL | impl Spec for T { - | ^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/spec-reference.rs b/src/test/ui/specialization/min_specialization/spec-reference.rs deleted file mode 100644 index 377889e2c..000000000 --- a/src/test/ui/specialization/min_specialization/spec-reference.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Check that lifetime parameters are allowed in specializing impls. - -// check-pass - -#![feature(min_specialization)] - -trait MySpecTrait { - fn f(); -} - -impl MySpecTrait for T { - default fn f() {} -} - -impl<'a, T: ?Sized> MySpecTrait for &'a T { - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialization_marker.rs b/src/test/ui/specialization/min_specialization/specialization_marker.rs deleted file mode 100644 index 93462d02e..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_marker.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Test that `rustc_unsafe_specialization_marker` is only allowed on marker traits. - -#![feature(rustc_attrs)] - -#[rustc_unsafe_specialization_marker] -trait SpecMarker { - fn f(); - //~^ ERROR marker traits -} - -#[rustc_unsafe_specialization_marker] -trait SpecMarker2 { - type X; - //~^ ERROR marker traits -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialization_marker.stderr b/src/test/ui/specialization/min_specialization/specialization_marker.stderr deleted file mode 100644 index b47c14f3c..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_marker.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0714]: marker traits cannot have associated items - --> $DIR/specialization_marker.rs:7:5 - | -LL | fn f(); - | ^^^^^^^ - -error[E0714]: marker traits cannot have associated items - --> $DIR/specialization_marker.rs:13:5 - | -LL | type X; - | ^^^^^^ - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0714`. diff --git a/src/test/ui/specialization/min_specialization/specialization_super_trait.rs b/src/test/ui/specialization/min_specialization/specialization_super_trait.rs deleted file mode 100644 index 145f376ed..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_super_trait.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Test that supertraits can't be assumed in impls of -// `rustc_specialization_trait`, as such impls would -// allow specializing on the supertrait. - -#![feature(min_specialization)] -#![feature(rustc_attrs)] - -#[rustc_specialization_trait] -trait SpecMarker: Default { - fn f(); -} - -impl SpecMarker for T { - //~^ ERROR cannot specialize - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialization_super_trait.stderr b/src/test/ui/specialization/min_specialization/specialization_super_trait.stderr deleted file mode 100644 index e93578662..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_super_trait.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: cannot specialize on trait `Default` - --> $DIR/specialization_super_trait.rs:13:9 - | -LL | impl SpecMarker for T { - | ^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/specialization_trait.rs b/src/test/ui/specialization/min_specialization/specialization_trait.rs deleted file mode 100644 index d597278d2..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_trait.rs +++ /dev/null @@ -1,26 +0,0 @@ -// Test that `rustc_specialization_trait` requires always applicable impls. - -#![feature(min_specialization)] -#![feature(rustc_attrs)] - -#[rustc_specialization_trait] -trait SpecMarker { - fn f(); -} - -impl SpecMarker for &'static u8 { - //~^ ERROR cannot specialize - fn f() {} -} - -impl SpecMarker for (T, T) { - //~^ ERROR specializing impl - fn f() {} -} - -impl SpecMarker for [T] { - //~^ ERROR cannot specialize - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialization_trait.stderr b/src/test/ui/specialization/min_specialization/specialization_trait.stderr deleted file mode 100644 index bc87ae0f8..000000000 --- a/src/test/ui/specialization/min_specialization/specialization_trait.stderr +++ /dev/null @@ -1,20 +0,0 @@ -error: cannot specialize on `'static` lifetime - --> $DIR/specialization_trait.rs:11:1 - | -LL | impl SpecMarker for &'static u8 { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: specializing impl repeats parameter `T` - --> $DIR/specialization_trait.rs:16:1 - | -LL | impl SpecMarker for (T, T) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: cannot specialize on trait `Clone` - --> $DIR/specialization_trait.rs:21:9 - | -LL | impl SpecMarker for [T] { - | ^^^^^ - -error: aborting due to 3 previous errors - diff --git a/src/test/ui/specialization/min_specialization/specialize_on_marker.rs b/src/test/ui/specialization/min_specialization/specialize_on_marker.rs deleted file mode 100644 index 4219bd13b..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_marker.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Test that specializing on a `rustc_unsafe_specialization_marker` trait is -// allowed. - -// check-pass - -#![feature(min_specialization)] -#![feature(rustc_attrs)] - -#[rustc_unsafe_specialization_marker] -trait SpecMarker {} - -trait X { - fn f(); -} - -impl X for T { - default fn f() {} -} - -impl X for T { - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialize_on_spec_trait.rs b/src/test/ui/specialization/min_specialization/specialize_on_spec_trait.rs deleted file mode 100644 index abbab5c23..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_spec_trait.rs +++ /dev/null @@ -1,27 +0,0 @@ -// Test that specializing on a `rustc_specialization_trait` trait is allowed. - -// check-pass - -#![feature(min_specialization)] -#![feature(rustc_attrs)] - -#[rustc_specialization_trait] -trait SpecTrait { - fn g(&self); -} - -trait X { - fn f(&self); -} - -impl X for T { - default fn f(&self) {} -} - -impl X for T { - fn f(&self) { - self.g(); - } -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialize_on_static.rs b/src/test/ui/specialization/min_specialization/specialize_on_static.rs deleted file mode 100644 index dd1b05401..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_static.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Test that directly specializing on `'static` is not allowed. - -#![feature(min_specialization)] - -trait X { - fn f(); -} - -impl X for &'_ T { - default fn f() {} -} - -impl X for &'static u8 { - //~^ ERROR cannot specialize on `'static` lifetime - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialize_on_static.stderr b/src/test/ui/specialization/min_specialization/specialize_on_static.stderr deleted file mode 100644 index 9a16798f1..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_static.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: cannot specialize on `'static` lifetime - --> $DIR/specialize_on_static.rs:13:1 - | -LL | impl X for &'static u8 { - | ^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/specialization/min_specialization/specialize_on_trait.rs b/src/test/ui/specialization/min_specialization/specialize_on_trait.rs deleted file mode 100644 index 0588442c3..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_trait.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Test that specializing on a trait is not allowed in general. - -#![feature(min_specialization)] - -trait SpecMarker {} - -trait X { - fn f(); -} - -impl X for T { - default fn f() {} -} - -impl X for T { - //~^ ERROR cannot specialize on trait `SpecMarker` - fn f() {} -} - -fn main() {} diff --git a/src/test/ui/specialization/min_specialization/specialize_on_trait.stderr b/src/test/ui/specialization/min_specialization/specialize_on_trait.stderr deleted file mode 100644 index 7b79c7eb4..000000000 --- a/src/test/ui/specialization/min_specialization/specialize_on_trait.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: cannot specialize on trait `SpecMarker` - --> $DIR/specialize_on_trait.rs:15:9 - | -LL | impl X for T { - | ^^^^^^^^^^ - -error: aborting due to previous error - -- cgit v1.2.3