allow incomplete_features in all ui tests

This commit is contained in:
cyrgani
2026-03-24 20:00:26 +00:00
parent 63154b7b47
commit 97e84d5a56
124 changed files with 94 additions and 822 deletions
+1 -4
View File
@@ -1921,10 +1921,7 @@ fn make_compile_args(
// Allow tests to use internal and incomplete features.
compiler.args(&["-A", "internal_features"]);
// FIXME(#154168); temporarily exclude some directories to make the transition easier
if !input_file.iter().any(|p| p == "specialization") {
compiler.args(&["-A", "incomplete_features"]);
}
compiler.args(&["-A", "incomplete_features"]);
// Allow tests to have unused parens and braces.
// Add #![deny(unused_parens, unused_braces)] to the test file if you want to
@@ -2,7 +2,7 @@
// Make sure we don't crash with a cycle error during coherence.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Trait<T> {
type Assoc;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/assoc-ty-graph-cycle.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,5 +1,5 @@
// regression test for #118987
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Assoc {
type Output;
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-impl-normalization-ambig-2.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `u16: Assoc` is not satisfied
--> $DIR/default-impl-normalization-ambig-2.rs:17:14
|
@@ -20,6 +10,6 @@ help: the trait `Assoc` is implemented for `u8`
LL | impl Assoc for u8 {}
| ^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
@@ -1,5 +1,5 @@
// regression test for #73299.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait X {
type U;
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-item-normalization-ambig-1.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0119]: conflicting implementations of trait `Y` for type `<() as X>::U`
--> $DIR/default-item-normalization-ambig-1.rs:20:1
|
@@ -16,6 +6,6 @@ LL | impl Y for <() as X>::U {}
LL | impl Y for <i32 as X>::U {}
| ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<() as X>::U`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0119`.
@@ -2,7 +2,7 @@
//@ aux-build:cross_crates_defaults.rs
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
extern crate cross_crates_defaults;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/cross-crate-defaults.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,7 +1,6 @@
//! Regression test for revealing associated types through specialization during const eval.
//@ check-pass
#![feature(specialization)]
//~^ WARNING the feature `specialization` is incomplete and may not be safe to use
trait Foo {
const ASSOC: usize;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-assoc-const.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,6 @@
//! even if they rely on specialization.
//@ check-pass
#![feature(specialization)]
//~^ WARNING the feature `specialization` is incomplete and may not be safe to use
trait Foo {
type Assoc: Trait;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-assoc-type.rs:4:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,6 @@
// bounds on them.
#![feature(specialization)]
//~^ WARNING `specialization` is incomplete
trait X {
type U: Clone;
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-associated-type-bound-1.rs:4:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `str: Clone` is not satisfied
--> $DIR/default-associated-type-bound-1.rs:18:22
--> $DIR/default-associated-type-bound-1.rs:17:22
|
LL | default type U = str;
| ^^^ the trait `Clone` is not implemented for `str`
@@ -17,11 +7,11 @@ LL | default type U = str;
help: the trait `Clone` is implemented for `String`
--> $SRC_DIR/alloc/src/string.rs:LL:COL
note: required by a bound in `X::U`
--> $DIR/default-associated-type-bound-1.rs:8:13
--> $DIR/default-associated-type-bound-1.rs:7:13
|
LL | type U: Clone;
| ^^^^^ required by this bound in `X::U`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
@@ -1,6 +1,5 @@
// Check that generic predicates are also checked for default associated types.
#![feature(specialization)]
//~^ WARNING `specialization` is incomplete
trait X<T> {
type U: PartialEq<T>;
@@ -1,22 +1,12 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-associated-type-bound-2.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: can't compare `&'static B` with `B`
--> $DIR/default-associated-type-bound-2.rs:16:22
--> $DIR/default-associated-type-bound-2.rs:15:22
|
LL | default type U = &'static B;
| ^^^^^^^^^^ no implementation for `&'static B == B`
|
= help: the trait `PartialEq<B>` is not implemented for `&'static B`
note: required by a bound in `X::U`
--> $DIR/default-associated-type-bound-2.rs:6:13
--> $DIR/default-associated-type-bound-2.rs:5:13
|
LL | type U: PartialEq<T>;
| ^^^^^^^^^^^^ required by this bound in `X::U`
@@ -25,6 +15,6 @@ help: consider introducing a `where` clause, but there might be an alternative b
LL | impl<B: 'static, T> X<B> for T where &'static B: PartialEq<B> {
| ++++++++++++++++++++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
@@ -1,7 +1,6 @@
// Check that default generics associated types are validated.
#![feature(specialization)]
//~^ WARNING `specialization` is incomplete
trait X {
type U<'a>: PartialEq<&'a Self> where Self: 'a;
@@ -1,22 +1,12 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default-generic-associated-type-bound.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: can't compare `T` with `T`
--> $DIR/default-generic-associated-type-bound.rs:17:26
--> $DIR/default-generic-associated-type-bound.rs:16:26
|
LL | default type U<'a> = &'a T;
| ^^^^^ no implementation for `T == T`
|
= note: required for `&'a T` to implement `PartialEq`
note: required by a bound in `X::U`
--> $DIR/default-generic-associated-type-bound.rs:7:17
--> $DIR/default-generic-associated-type-bound.rs:6:17
|
LL | type U<'a>: PartialEq<&'a Self> where Self: 'a;
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `X::U`
@@ -25,6 +15,6 @@ help: consider further restricting type parameter `T` with trait `PartialEq`
LL | impl<T: 'static + std::cmp::PartialEq> X for T {
| +++++++++++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
@@ -5,7 +5,7 @@
//@ aux-build:go_trait.rs
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
extern crate go_trait;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/allowed-cross-crate.rs:8:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,7 @@
// Test that you can list the more specific impl before the more general one.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
type Out;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/out-of-order.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -4,7 +4,7 @@
// projections involve specialization, so long as the associated type is
// provided by the most specialized impl.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Assoc {
type Output;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/overlap-projection.rs:7:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,7 +1,7 @@
//@ run-pass
#![allow(dead_code)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Make sure we *can* project non-defaulted associated types
// cf ui/specialization/specialization-default-projection.rs
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/projection.rs:4:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Check a number of scenarios in which one impl tries to override another,
// without correctly using `default`.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-no-default.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/specialization-no-default.rs:20:5
|
@@ -63,6 +53,6 @@ LL | fn redundant(&self) {}
|
= note: to specialize, `redundant` in the parent `impl` must be marked `default`
error: aborting due to 5 previous errors; 1 warning emitted
error: aborting due to 5 previous errors
For more information about this error, try `rustc --explain E0520`.
@@ -3,7 +3,7 @@
// Tests that we can combine a default impl that supplies one method with a
// full impl that supplies the other, and they can invoke one another.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
fn foo_one(&self) -> &'static str;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-trait-item-not-implemented-rpass.rs:6:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,6 +1,6 @@
// Tests that default impls do not have to supply all items but regular impls do.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
fn foo_one(&self) -> &'static str;
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-trait-item-not-implemented.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0046]: not all trait items implemented, missing: `foo_two`
--> $DIR/specialization-trait-item-not-implemented.rs:18:1
|
@@ -17,6 +7,6 @@ LL | fn foo_two(&self) -> &'static str;
LL | impl Foo for MyStruct {}
| ^^^^^^^^^^^^^^^^^^^^^ missing `foo_two` in implementation
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0046`.
@@ -2,7 +2,7 @@
// - default impls do not have to supply all items and
// - a default impl does not count as an impl (in this case, an incomplete default impl).
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
fn foo_one(&self) -> &'static str;
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-trait-not-implemented.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0599]: no method named `foo_one` found for struct `MyStruct` in the current scope
--> $DIR/specialization-trait-not-implemented.rs:22:29
|
@@ -24,6 +14,6 @@ note: `Foo` defines an item `foo_one`, perhaps you need to implement it
LL | trait Foo {
| ^^^^^^^^^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0599`.
@@ -1,6 +1,6 @@
// Tests that a default impl still has to have a WF trait ref.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo<'a, T: Eq + 'a> { }
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-wfcheck.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `U: Eq` is not satisfied
--> $DIR/specialization-wfcheck.rs:7:17
|
@@ -24,6 +14,6 @@ help: consider restricting type parameter `U` with trait `Eq`
LL | default impl<U: std::cmp::Eq> Foo<'static, U> for () {}
| ++++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
@@ -1,5 +1,5 @@
#![feature(negative_impls)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
struct S;
struct Z;
@@ -8,16 +8,6 @@ LL | default impl S {}
|
= note: only trait implementations may be annotated with `default`
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/validation.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0367]: `!Send` impl requires `Z: Send` but the struct it is implemented for does not
--> $DIR/validation.rs:12:1
|
@@ -58,7 +48,7 @@ error[E0750]: negative impls cannot be default impls
LL | default impl !Tr for S {}
| ^^^^^^^ ^
error: aborting due to 6 previous errors; 1 warning emitted
error: aborting due to 6 previous errors
Some errors have detailed explanations: E0367, E0750.
For more information about an error, try `rustc --explain E0367`.
@@ -1,7 +1,7 @@
// This test previously tried to use a tainted `EvalCtxt` when emitting
// an error during coherence.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Iterate<'a> {
type Ty: Valid;
}
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/fuzzing-ice-134905.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `(): Valid` is not satisfied
--> $DIR/fuzzing-ice-134905.rs:12:23
|
@@ -34,7 +24,7 @@ LL | impl<'a, T> Eq for T where <T as Iterate<'a>>::Ty: Valid {}
= note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local
= note: only traits defined in the current crate can be implemented for a type parameter
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0210, E0277.
For more information about an error, try `rustc --explain E0210`.
-1
View File
@@ -1,6 +1,5 @@
//@ check-pass
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
fn main() {}
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-35376.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
+1 -1
View File
@@ -1,5 +1,5 @@
//@ check-pass
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
pub struct Cloned<I>(I);
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-36804.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
-1
View File
@@ -2,7 +2,6 @@
//~^ ERROR overflow evaluating the requirement `i32: Check`
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Iterate<'a> {
type Ty: Valid;
+2 -12
View File
@@ -1,17 +1,7 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-38091-2.rs:4:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0275]: overflow evaluating the requirement `i32: Check`
|
note: required for `i32` to implement `Iterate<'_>`
--> $DIR/issue-38091-2.rs:11:13
--> $DIR/issue-38091-2.rs:10:13
|
LL | impl<'a, T> Iterate<'a> for T
| ^^^^^^^^^^^ ^
@@ -19,6 +9,6 @@ LL | where
LL | T: Check,
| ----- unsatisfied trait bound introduced here
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0275`.
-1
View File
@@ -1,5 +1,4 @@
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Iterate<'a> {
type Ty: Valid;
+4 -14
View File
@@ -1,30 +1,20 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-38091.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `(): Valid` is not satisfied
--> $DIR/issue-38091.rs:12:23
--> $DIR/issue-38091.rs:11:23
|
LL | default type Ty = ();
| ^^ the trait `Valid` is not implemented for `()`
|
help: this trait has no implementations, consider adding one
--> $DIR/issue-38091.rs:20:1
--> $DIR/issue-38091.rs:19:1
|
LL | trait Valid {}
| ^^^^^^^^^^^
note: required by a bound in `Iterate::Ty`
--> $DIR/issue-38091.rs:5:14
--> $DIR/issue-38091.rs:4:14
|
LL | type Ty: Valid;
| ^^^^^ required by this bound in `Iterate::Ty`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
+1 -1
View File
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Regression test for a specialization-related ICE (#39448).
+1 -11
View File
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-39448.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0391]: cycle detected when computing whether impls specialize one another
--> $DIR/issue-39448.rs:24:1
|
@@ -23,6 +13,6 @@ LL | trait FromA<T> {
| ^^^^^^^^^^^^^^
= note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0391`.
+1 -1
View File
@@ -2,7 +2,7 @@
// FIXME(JohnTitor): Centril pointed out this looks suspicions, we should revisit here.
// More context: https://github.com/rust-lang/rust/pull/69192#discussion_r379846796
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
fn foo(&self);
+1 -11
View File
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-39618.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0391]: cycle detected when computing whether impls specialize one another
--> $DIR/issue-39618.rs:19:1
|
@@ -23,6 +13,6 @@ LL | trait Foo {
| ^^^^^^^^^
= note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0391`.
@@ -1,5 +1,4 @@
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
pub trait Foo {
fn foo();
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-50452-fail.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/issue-50452-fail.rs:10:5
--> $DIR/issue-50452-fail.rs:9:5
|
LL | fn foo() {}
| ^^^^^^^^ cannot specialize default item `foo`
@@ -19,6 +9,6 @@ LL | impl<T> Foo for T {
|
= note: to specialize, `foo` in the parent `impl` must be marked `default`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0520`.
+1 -1
View File
@@ -1,6 +1,6 @@
//@ run-pass
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
pub trait Foo {
fn foo();
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-50452.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
+1 -1
View File
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Regression test for #52050: when inserting the blanket impl `I`
// into the tree, we had to replace the child node for `Foo`, which
+1 -11
View File
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-52050.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0119]: conflicting implementations of trait `IntoPyDictPointer` for type `()`
--> $DIR/issue-52050.rs:28:1
|
@@ -21,6 +11,6 @@ LL | impl IntoPyDictPointer for ()
|
= note: upstream crates may add a new impl of trait `std::iter::Iterator` for type `()` in future versions
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0119`.
@@ -4,7 +4,7 @@
//@ check-pass
//@ edition:2018
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
fn main() {}
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-63716-parse-async.rs:7:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
+1 -1
View File
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
//@ check-pass
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-70442.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,5 +1,4 @@
#![feature(specialization, associated_type_defaults)]
//~^ WARN the feature `specialization` is incomplete
// Test that attempting to override a non-default method or one not in the
// parent impl causes an error.
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/non-defaulted-item-fail.rs:1:12
|
LL | #![feature(specialization, associated_type_defaults)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0520]: `Ty` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:30:5
--> $DIR/non-defaulted-item-fail.rs:29:5
|
LL | impl<T> Foo for Box<T> {
| ---------------------- parent `impl` is here
@@ -20,7 +10,7 @@ LL | type Ty = Vec<()>;
= note: to specialize, `Ty` in the parent `impl` must be marked `default`
error[E0520]: `CONST` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:32:5
--> $DIR/non-defaulted-item-fail.rs:31:5
|
LL | impl<T> Foo for Box<T> {
| ---------------------- parent `impl` is here
@@ -31,7 +21,7 @@ LL | const CONST: u8 = 42;
= note: to specialize, `CONST` in the parent `impl` must be marked `default`
error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:34:5
--> $DIR/non-defaulted-item-fail.rs:33:5
|
LL | impl<T> Foo for Box<T> {
| ---------------------- parent `impl` is here
@@ -42,7 +32,7 @@ LL | fn foo(&self) -> bool { true }
= note: to specialize, `foo` in the parent `impl` must be marked `default`
error[E0520]: `Ty` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:46:5
--> $DIR/non-defaulted-item-fail.rs:45:5
|
LL | impl<T> Foo for Vec<T> {}
| ---------------------- parent `impl` is here
@@ -53,7 +43,7 @@ LL | type Ty = Vec<()>;
= note: to specialize, `Ty` in the parent `impl` must be marked `default`
error[E0520]: `CONST` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:48:5
--> $DIR/non-defaulted-item-fail.rs:47:5
|
LL | impl<T> Foo for Vec<T> {}
| ---------------------- parent `impl` is here
@@ -64,7 +54,7 @@ LL | const CONST: u8 = 42;
= note: to specialize, `CONST` in the parent `impl` must be marked `default`
error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/non-defaulted-item-fail.rs:50:5
--> $DIR/non-defaulted-item-fail.rs:49:5
|
LL | impl<T> Foo for Vec<T> {}
| ---------------------- parent `impl` is here
@@ -74,6 +64,6 @@ LL | fn foo(&self) -> bool { true }
|
= note: to specialize, `foo` in the parent `impl` must be marked `default`
error: aborting due to 6 previous errors; 1 warning emitted
error: aborting due to 6 previous errors
For more information about this error, try `rustc --explain E0520`.
@@ -1,8 +1,6 @@
// Regression test for #140571. The compiler used to ICE
#![feature(min_generic_const_args, specialization)]
//~^ WARN the feature `specialization` is incomplete
//~| WARN the feature `min_generic_const_args` is incomplete
pub trait IsVoid {
@@ -1,29 +1,11 @@
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/overlap-due-to-unsatisfied-const-bound.rs:3:12
|
LL | #![feature(min_generic_const_args, specialization)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/overlap-due-to-unsatisfied-const-bound.rs:3:36
|
LL | #![feature(min_generic_const_args, specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
error[E0119]: conflicting implementations of trait `Maybe<()>` for type `()`
--> $DIR/overlap-due-to-unsatisfied-const-bound.rs:20:1
--> $DIR/overlap-due-to-unsatisfied-const-bound.rs:18:1
|
LL | impl<T> Maybe<T> for T {}
| ---------------------- first implementation here
LL | impl<T> Maybe<T> for () where T: NotVoid + ?Sized {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`
error: aborting due to 1 previous error; 2 warnings emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0119`.
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/prefer-specializing-impl-over-default.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/prefer-specializing-impl-over-default.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -3,7 +3,6 @@
//@[next] compile-flags: -Znext-solver
//@ check-pass
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait WithAssoc: 'static {
type Assoc;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/source-impl-requires-constraining-predicates-ambig.rs:14:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -12,7 +12,6 @@
// is ambiguous.
#![feature(specialization)]
//[next]~^ WARN the feature `specialization` is incomplete
trait Spec {
type Assoc;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/source-impl-requires-constraining-predicates.rs:9:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/source-impl-requires-constraining-predicates.rs:9:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -7,7 +7,6 @@
// `[u32; 0]: IntoIterator<Item = ?U>` predicate to constrain the `?U` impl arg.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Spec {
type Assoc;
@@ -5,7 +5,7 @@
//@ aux-build:go_trait.rs
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
extern crate go_trait;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-allowed-cross-crate.rs:8:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,7 @@
// Test that non-method associated functions can be specialized
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
fn mk() -> Self;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-assoc-fns.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,6 +1,6 @@
//@ run-pass
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Tests a variety of basic specialization scenarios and method
// dispatch for them.
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-basics.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,7 @@
//@ aux-build:specialization_cross_crate.rs
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
extern crate specialization_cross_crate;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-cross-crate.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,6 +1,6 @@
//@ run-pass
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Test that default methods are cascaded correctly
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-default-methods.rs:3:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-default-projection.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/specialization-default-projection.rs:25:5
|
@@ -42,6 +32,6 @@ LL | generic::<()>()
= note: the associated type `<() as Foo>::Assoc` is defined as `()` in the implementation, but the where-bound `()` shadows this definition
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-default-projection.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/specialization-default-projection.rs:25:5
|
@@ -42,6 +32,6 @@ LL | generic::<()>()
= note: the associated type `<() as Foo>::Assoc` is defined as `()` in the implementation, but the where-bound `()` shadows this definition
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.
@@ -2,7 +2,7 @@
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Make sure we can't project defaulted associated types
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-default-types.rs:9:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/specialization-default-types.rs:19:9
|
@@ -38,6 +28,6 @@ LL | Example::generate(t)
= note: the associated type `<T as Example>::Output` is defined as `Box<T>` in the implementation, but the where-bound `T` shadows this definition
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-default-types.rs:9:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/specialization-default-types.rs:19:9
|
@@ -38,6 +28,6 @@ LL | Example::generate(t)
= note: the associated type `<T as Example>::Output` is defined as `Box<T>` in the implementation, but the where-bound `T` shadows this definition
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.
@@ -6,7 +6,7 @@
// associated type in the impl defining it -- otherwise, what happens
// if it's overridden?
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Example {
type Output;
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Check a number of scenarios in which one impl tries to override another,
// without correctly using `default`.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-no-default.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/specialization-no-default.rs:20:5
|
@@ -63,6 +53,6 @@ LL | default fn redundant(&self) {}
|
= note: to specialize, `redundant` in the parent `impl` must be marked `default`
error: aborting due to 5 previous errors; 1 warning emitted
error: aborting due to 5 previous errors
For more information about this error, try `rustc --explain E0520`.
@@ -1,7 +1,7 @@
//@ run-pass
#![allow(dead_code)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
// Ensure that specialization works for impls defined directly on a projection
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-on-projection.rs:4:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -2,7 +2,7 @@
// Test that you can list the more specific impl before the more general one.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo {
type Out;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-out-of-order.rs:5:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,5 +1,5 @@
#![feature(negative_impls)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait MyTrait {}
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-overlap-negative.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0751]: found both positive and negative implementation of trait `Send` for type `TestType<_>`:
--> $DIR/specialization-overlap-negative.rs:9:1
|
@@ -28,7 +18,7 @@ note: the implementor must specify the same requirement
LL | struct TestType<T>(::std::marker::PhantomData<T>);
| ^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0367, E0751.
For more information about an error, try `rustc --explain E0367`.
@@ -2,7 +2,6 @@
// projections involve specialization, so long as the associated type is
// provided by the most specialized impl.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
trait Assoc {
type Output;

Some files were not shown because too many files have changed in this diff Show More