allow incomplete_features in most UI tests

This commit is contained in:
cyrgani
2026-03-21 12:38:32 +00:00
parent e52f547ed4
commit 9b0be7857a
114 changed files with 383 additions and 926 deletions
+8 -1
View File
@@ -1919,8 +1919,15 @@ fn make_compile_args(
compiler.args(&["-A", "unused", "-W", "unused_attributes"]);
}
// Allow tests to use internal features.
// 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 == "traits" || p == "specialization" || p == "const-generics")
{
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
@@ -1,9 +1,6 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
#![feature(min_generic_const_args)]
//~^ WARN the feature `min_generic_const_args` is incomplete
#![feature(inherent_associated_types)]
//~^ WARN the feature `inherent_associated_types` is incomplete
struct OnDiskDirEntry<'a>(&'a ());
@@ -1,35 +1,10 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-const-in-array-len-wrong-type.rs:1:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-const-in-array-len-wrong-type.rs:3:12
|
LL | #![feature(min_generic_const_args)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-const-in-array-len-wrong-type.rs:5:12
|
LL | #![feature(inherent_associated_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
error: the constant `2` is not of type `usize`
--> $DIR/type-const-in-array-len-wrong-type.rs:13:26
--> $DIR/type-const-in-array-len-wrong-type.rs:10:26
|
LL | fn lfn_contents() -> [char; Self::LFN_FRAGMENT_LEN] {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `i64`
|
= note: the length of array `[char; 2]` must be type `usize`
error: aborting due to 1 previous error; 3 warnings emitted
error: aborting due to 1 previous error
@@ -1,9 +1,7 @@
//@ check-pass
#![feature(min_generic_const_args)]
//~^ WARN the feature `min_generic_const_args` is incomplete
#![feature(inherent_associated_types)]
//~^ WARN the feature `inherent_associated_types` is incomplete
// Test case from #138226: generic impl with multiple type parameters
struct Foo<A, B>(A, B);
@@ -1,19 +0,0 @@
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-const-in-array-len.rs:3:12
|
LL | #![feature(min_generic_const_args)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= 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 `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-const-in-array-len.rs:5:12
|
LL | #![feature(inherent_associated_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
warning: 2 warnings emitted
@@ -2,7 +2,6 @@
// Regression test for #146467.
#![feature(inherent_associated_types)]
//~^ WARN the feature `inherent_associated_types` is incomplete
struct Foo<T>(T);
@@ -1,20 +1,11 @@
warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:4:12
|
LL | #![feature(inherent_associated_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:9:6
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:8:6
|
LL | impl<'a> Foo<fn(&())> {
| ^^ unconstrained lifetime parameter
error[E0308]: mismatched types
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:14:11
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:13:11
|
LL | fn foo(_: for<'a> fn(Foo<fn(&'a ())>::Assoc)) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one type is more general than the other
@@ -23,12 +14,12 @@ LL | fn foo(_: for<'a> fn(Foo<fn(&'a ())>::Assoc)) {}
found struct `Foo<for<'a> fn(&'a ())>`
error: higher-ranked subtype error
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:14:1
--> $DIR/hr-do-not-blame-outlives-static-ice.rs:13:1
|
LL | fn foo(_: for<'a> fn(Foo<fn(&'a ())>::Assoc)) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 3 previous errors; 1 warning emitted
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0207, E0308.
For more information about an error, try `rustc --explain E0207`.
@@ -1,7 +1,6 @@
//@ check-pass
#![feature(inherent_associated_types)]
//~^ WARN the feature `inherent_associated_types` is incomplete
struct D<T> {
a: T
@@ -1,11 +0,0 @@
warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/variance-computation-requires-equality.rs:3:12
|
LL | #![feature(inherent_associated_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,7 +1,6 @@
//! Tests the interaction of associated type defaults and specialization.
#![feature(associated_type_defaults, specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Tr {
type Ty = u8;
@@ -1,21 +1,11 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/defaults-specialization.rs:3:38
|
LL | #![feature(associated_type_defaults, 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[E0053]: method `make` has an incompatible type for trait
--> $DIR/defaults-specialization.rs:19:18
--> $DIR/defaults-specialization.rs:18:18
|
LL | fn make() -> u8 { 0 }
| ^^ expected associated type, found `u8`
|
note: type in trait
--> $DIR/defaults-specialization.rs:9:18
--> $DIR/defaults-specialization.rs:8:18
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^
@@ -28,7 +18,7 @@ LL + fn make() -> <A<T> as Tr>::Ty { 0 }
|
error[E0053]: method `make` has an incompatible type for trait
--> $DIR/defaults-specialization.rs:35:18
--> $DIR/defaults-specialization.rs:34:18
|
LL | default type Ty = bool;
| --------------- associated type is `default` and may be overridden
@@ -37,7 +27,7 @@ LL | fn make() -> bool { true }
| ^^^^ expected associated type, found `bool`
|
note: type in trait
--> $DIR/defaults-specialization.rs:9:18
--> $DIR/defaults-specialization.rs:8:18
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^
@@ -50,7 +40,7 @@ LL + fn make() -> <B<T> as Tr>::Ty { true }
|
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:10:9
--> $DIR/defaults-specialization.rs:9:9
|
LL | type Ty = u8;
| ------- associated type defaults can't be assumed inside the trait defining them
@@ -64,7 +54,7 @@ LL | 0u8
found type `u8`
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:26:29
--> $DIR/defaults-specialization.rs:25:29
|
LL | fn make() -> Self::Ty { 0u8 }
| -------- ^^^ expected associated type, found `u8`
@@ -79,7 +69,7 @@ LL | fn make() -> Self::Ty { 0u8 }
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:44:29
--> $DIR/defaults-specialization.rs:43:29
|
LL | default type Ty = bool;
| --------------- associated type is `default` and may be overridden
@@ -95,7 +85,7 @@ LL | fn make() -> Self::Ty { true }
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:87:32
--> $DIR/defaults-specialization.rs:86:32
|
LL | let _: <B<()> as Tr>::Ty = 0u8;
| ----------------- ^^^ expected associated type, found `u8`
@@ -105,13 +95,13 @@ LL | let _: <B<()> as Tr>::Ty = 0u8;
= note: expected associated type `<B<()> as Tr>::Ty`
found type `u8`
help: a method is available that returns `<B<()> as Tr>::Ty`
--> $DIR/defaults-specialization.rs:9:5
--> $DIR/defaults-specialization.rs:8:5
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^^^^^^^^^^^^^^ consider calling `Tr::make`
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:88:32
--> $DIR/defaults-specialization.rs:87:32
|
LL | let _: <B<()> as Tr>::Ty = true;
| ----------------- ^^^^ expected associated type, found `bool`
@@ -121,7 +111,7 @@ LL | let _: <B<()> as Tr>::Ty = true;
= note: expected associated type `<B<()> as Tr>::Ty`
found type `bool`
help: a method is available that returns `<B<()> as Tr>::Ty`
--> $DIR/defaults-specialization.rs:9:5
--> $DIR/defaults-specialization.rs:8:5
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^^^^^^^^^^^^^^ consider calling `Tr::make`
@@ -129,7 +119,7 @@ LL | fn make() -> Self::Ty {
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:89:33
--> $DIR/defaults-specialization.rs:88:33
|
LL | let _: <B2<()> as Tr>::Ty = 0u8;
| ------------------ ^^^ expected associated type, found `u8`
@@ -139,13 +129,13 @@ LL | let _: <B2<()> as Tr>::Ty = 0u8;
= note: expected associated type `<B2<()> as Tr>::Ty`
found type `u8`
help: a method is available that returns `<B2<()> as Tr>::Ty`
--> $DIR/defaults-specialization.rs:9:5
--> $DIR/defaults-specialization.rs:8:5
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^^^^^^^^^^^^^^ consider calling `Tr::make`
error[E0308]: mismatched types
--> $DIR/defaults-specialization.rs:90:33
--> $DIR/defaults-specialization.rs:89:33
|
LL | let _: <B2<()> as Tr>::Ty = true;
| ------------------ ^^^^ expected associated type, found `bool`
@@ -155,14 +145,14 @@ LL | let _: <B2<()> as Tr>::Ty = true;
= note: expected associated type `<B2<()> as Tr>::Ty`
found type `bool`
help: a method is available that returns `<B2<()> as Tr>::Ty`
--> $DIR/defaults-specialization.rs:9:5
--> $DIR/defaults-specialization.rs:8:5
|
LL | fn make() -> Self::Ty {
| ^^^^^^^^^^^^^^^^^^^^^ consider calling `Tr::make`
= note: the associated type `<B2<()> as Tr>::Ty` is defined as `bool` in the implementation, but the where-bound `B2<()>` shadows this definition
see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information
error: aborting due to 9 previous errors; 1 warning emitted
error: aborting due to 9 previous errors
Some errors have detailed explanations: E0053, E0308.
For more information about an error, try `rustc --explain E0053`.
@@ -1,7 +1,6 @@
//@ edition: 2018
#![feature(async_drop)]
//~^ WARN the feature `async_drop` is incomplete
use std::future::AsyncDrop;
use std::pin::Pin;
@@ -1,24 +1,15 @@
warning: the feature `async_drop` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/foreign-fundamental.rs:3:12
|
LL | #![feature(async_drop)]
| ^^^^^^^^^^
|
= note: see issue #126482 <https://github.com/rust-lang/rust/issues/126482> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0120]: the `AsyncDrop` trait may only be implemented for local structs, enums, and unions
--> $DIR/foreign-fundamental.rs:11:20
--> $DIR/foreign-fundamental.rs:10:20
|
LL | impl AsyncDrop for &Foo {
| ^^^^ must be a struct, enum, or union in the current crate
error[E0120]: the `AsyncDrop` trait may only be implemented for local structs, enums, and unions
--> $DIR/foreign-fundamental.rs:16:20
--> $DIR/foreign-fundamental.rs:15:20
|
LL | impl AsyncDrop for Pin<Foo> {
| ^^^^^^^^ must be a struct, enum, or union in the current crate
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 E0120`.
@@ -1,12 +1,3 @@
warning: the feature `async_fn_in_dyn_trait` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/mut-is-pointer-like.rs:6:12
|
LL | #![feature(async_fn_in_dyn_trait)]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #133119 <https://github.com/rust-lang/rust/issues/133119> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0038]: the trait `AsyncTrait` is not dyn compatible
--> $DIR/mut-is-pointer-like.rs:35:29
|
@@ -24,6 +15,6 @@ LL | async fn async_dispatch(self: Pin<&mut Self>) -> Self::Output;
| ^^^^^^^^^^^^^^ ...because method `async_dispatch` is `async`
= help: consider moving `async_dispatch` to another trait
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 E0038`.
+1 -10
View File
@@ -1,12 +1,3 @@
warning: the feature `async_fn_in_dyn_trait` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/works.rs:6:12
|
LL | #![feature(async_fn_in_dyn_trait)]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #133119 <https://github.com/rust-lang/rust/issues/133119> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0038]: the trait `AsyncTrait` is not dyn compatible
--> $DIR/works.rs:27:21
|
@@ -24,6 +15,6 @@ LL | async fn async_dispatch(&self);
= help: consider moving `async_dispatch` to another trait
= help: only type `&'static str` implements `AsyncTrait`; consider using it directly instead.
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 E0038`.
+1 -10
View File
@@ -1,12 +1,3 @@
warning: the feature `async_fn_in_dyn_trait` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/wrong-size.rs:4:12
|
LL | #![feature(async_fn_in_dyn_trait)]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #133119 <https://github.com/rust-lang/rust/issues/133119> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0038]: the trait `AsyncTrait` is not dyn compatible
--> $DIR/wrong-size.rs:21:17
|
@@ -24,6 +15,6 @@ LL | async fn async_dispatch(&self);
= help: consider moving `async_dispatch` to another trait
= help: only type `&'static str` implements `AsyncTrait`; consider using it directly instead.
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 E0038`.
@@ -1,5 +1,4 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
struct DataWrapper<'static> {
//~^ ERROR invalid lifetime parameter name: `'static`
@@ -1,11 +1,11 @@
error[E0262]: invalid lifetime parameter name: `'static`
--> $DIR/generic_const_early_param.rs:4:20
--> $DIR/generic_const_early_param.rs:3:20
|
LL | struct DataWrapper<'static> {
| ^^^^^^^ 'static is a reserved lifetime name
error[E0261]: use of undeclared lifetime name `'a`
--> $DIR/generic_const_early_param.rs:6:12
--> $DIR/generic_const_early_param.rs:5:12
|
LL | data: &'a [u8; Self::SIZE],
| ^^ undeclared lifetime
@@ -16,7 +16,7 @@ LL | struct DataWrapper<'a, 'static> {
| +++
error[E0261]: use of undeclared lifetime name `'a`
--> $DIR/generic_const_early_param.rs:10:18
--> $DIR/generic_const_early_param.rs:9:18
|
LL | impl DataWrapper<'a> {
| ^^ undeclared lifetime
@@ -26,16 +26,7 @@ help: consider introducing lifetime `'a` here
LL | impl<'a> DataWrapper<'a> {
| ++++
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/generic_const_early_param.rs:1:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
error: aborting due to 3 previous errors; 1 warning emitted
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0261, E0262.
For more information about an error, try `rustc --explain E0261`.
-1
View File
@@ -1,5 +1,4 @@
#![feature(closure_lifetime_binder, non_lifetime_binders)]
//~^ WARN is incomplete and may not be safe to use
fn main() {
for<const N: i32> || -> () {};
+3 -12
View File
@@ -1,23 +1,14 @@
error: late-bound const parameters cannot be used currently
--> $DIR/const-bound.rs:5:15
--> $DIR/const-bound.rs:4:15
|
LL | for<const N: i32> || -> () {};
| ^
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/const-bound.rs:1:37
|
LL | #![feature(closure_lifetime_binder, non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error: late-bound const parameter not allowed on closures
--> $DIR/const-bound.rs:5:9
--> $DIR/const-bound.rs:4:9
|
LL | for<const N: i32> || -> () {};
| ^^^^^^^^^^^^
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
-1
View File
@@ -1,5 +1,4 @@
#![feature(closure_lifetime_binder, non_lifetime_binders)]
//~^ WARN is incomplete and may not be safe to use
fn main() {
for<T> || -> () {};
+2 -11
View File
@@ -1,17 +1,8 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-bound-2.rs:1:37
|
LL | #![feature(closure_lifetime_binder, non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error: late-bound type parameter not allowed on closures
--> $DIR/type-bound-2.rs:5:9
--> $DIR/type-bound-2.rs:4:9
|
LL | for<T> || -> () {};
| ^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
-1
View File
@@ -1,5 +1,4 @@
#![feature(closure_lifetime_binder, non_lifetime_binders)]
//~^ WARN is incomplete and may not be safe to use
fn main() {
for<T> || -> T {};
+2 -11
View File
@@ -1,17 +1,8 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/type-bound.rs:1:37
|
LL | #![feature(closure_lifetime_binder, non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error: late-bound type parameter not allowed on closures
--> $DIR/type-bound.rs:5:9
--> $DIR/type-bound.rs:4:9
|
LL | for<T> || -> T {};
| ^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -2,7 +2,6 @@
//@ compile-flags: -Copt-level=1 --crate-type=lib
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
pub unsafe trait Storage {
type Handle;
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/freeze-on-polymorphic-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
@@ -5,7 +5,6 @@
// since they are using a different infcx which doesn't preserve the intercrate flag.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
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/coherence-doesnt-use-infcx-evaluate.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
@@ -4,7 +4,6 @@
//
// No we expect to run into a more user-friendly cycle error instead.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Trait<T> { type Assoc; }
//~^ ERROR E0391
@@ -1,27 +1,17 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/coherence-inherited-assoc-ty-cycle-err.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
error[E0391]: cycle detected when building specialization graph of trait `Trait`
--> $DIR/coherence-inherited-assoc-ty-cycle-err.rs:9:1
--> $DIR/coherence-inherited-assoc-ty-cycle-err.rs:8:1
|
LL | trait Trait<T> { type Assoc; }
| ^^^^^^^^^^^^^^
|
= note: ...which immediately requires building specialization graph of trait `Trait` again
note: cycle used when coherence checking all impls of trait `Trait`
--> $DIR/coherence-inherited-assoc-ty-cycle-err.rs:9:1
--> $DIR/coherence-inherited-assoc-ty-cycle-err.rs:8:1
|
LL | trait Trait<T> { type Assoc; }
| ^^^^^^^^^^^^^^
= 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,7 +1,6 @@
//@ check-pass
#![feature(adt_const_params, unsized_const_params)]
//~^ WARN the feature `unsized_const_params` is incomplete
#![feature(with_negative_coherence, negative_impls)]
pub trait A<const K: &'static str> {}
@@ -1,11 +0,0 @@
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/regions-in-canonical.rs:3:30
|
LL | #![feature(adt_const_params, unsized_const_params)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
-1
View File
@@ -1,5 +1,4 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
fn test<'a>(
_: &'a (),
+3 -12
View File
@@ -1,14 +1,5 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/escaping-bound-var.rs:1:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
error: cannot capture late-bound lifetime in constant
--> $DIR/escaping-bound-var.rs:7:13
--> $DIR/escaping-bound-var.rs:6:13
|
LL | fn test<'a>(
| -- lifetime defined here
@@ -17,7 +8,7 @@ LL | let x: &'a ();
| ^^
error[E0308]: mismatched types
--> $DIR/escaping-bound-var.rs:6:6
--> $DIR/escaping-bound-var.rs:5:6
|
LL | fn test<'a>(
| ---- implicitly returns `()` as its body has no tail or `return` expression
@@ -33,6 +24,6 @@ LL | | }] {
1
}]`, found `()`
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
View File
@@ -2,7 +2,6 @@
//@ check-pass
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
#[inline(always)]
fn from_fn_1<const N: usize, F: FnMut(usize) -> f32>(mut f: F) -> [f32; N] {
-11
View File
@@ -1,11 +0,0 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-104396.rs:4:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,6 +1,5 @@
#![feature(fn_traits)]
#![feature(adt_const_params, unsized_const_params)]
//~^ WARNING the feature `unsized_const_params` is incomplete
#[derive(PartialEq, Eq)]
struct CompileTimeSettings {
@@ -1,14 +1,5 @@
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/refs_check_const_eq-issue-88384.rs:2:30
|
LL | #![feature(adt_const_params, unsized_const_params)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0741]: `CompileTimeSettings` must implement `ConstParamTy` to be used as the type of a const generic parameter
--> $DIR/refs_check_const_eq-issue-88384.rs:10:21
--> $DIR/refs_check_const_eq-issue-88384.rs:9:21
|
LL | struct Foo<const T: CompileTimeSettings>;
| ^^^^^^^^^^^^^^^^^^^
@@ -20,7 +11,7 @@ LL | struct CompileTimeSettings {
|
error[E0741]: `CompileTimeSettings` must implement `ConstParamTy` to be used as the type of a const generic parameter
--> $DIR/refs_check_const_eq-issue-88384.rs:13:15
--> $DIR/refs_check_const_eq-issue-88384.rs:12:15
|
LL | impl<const T: CompileTimeSettings> Foo<T> {
| ^^^^^^^^^^^^^^^^^^^
@@ -31,6 +22,6 @@ LL + #[derive(ConstParamTy)]
LL | struct CompileTimeSettings {
|
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 E0741`.
@@ -1,6 +1,5 @@
#![deny(elided_lifetimes_in_associated_constant)]
#![feature(generic_const_items)]
//~^ WARN the feature `generic_const_items` is incomplete
struct A;
impl A {
@@ -1,5 +1,5 @@
error[E0106]: missing lifetime specifier
--> $DIR/generic-associated-const.rs:15:29
--> $DIR/generic-associated-const.rs:14:29
|
LL | const GAC_LIFETIME<'a>: &str = "";
| ^ expected named lifetime parameter
@@ -9,23 +9,14 @@ help: consider using the `'a` lifetime
LL | const GAC_LIFETIME<'a>: &'a str = "";
| ++
warning: the feature `generic_const_items` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/generic-associated-const.rs:2:12
|
LL | #![feature(generic_const_items)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #113521 <https://github.com/rust-lang/rust/issues/113521> for more information
= note: `#[warn(incomplete_features)]` on by default
error: `&` without an explicit lifetime name cannot be used here
--> $DIR/generic-associated-const.rs:8:29
--> $DIR/generic-associated-const.rs:7:29
|
LL | const GAC_LIFETIME<'a>: &str = "";
| ^
|
note: cannot automatically infer `'static` because of other lifetimes in scope
--> $DIR/generic-associated-const.rs:8:24
--> $DIR/generic-associated-const.rs:7:24
|
LL | const GAC_LIFETIME<'a>: &str = "";
| ^^
@@ -41,6 +32,6 @@ help: use the `'static` lifetime
LL | const GAC_LIFETIME<'a>: &'static str = "";
| +++++++
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 E0106`.
+1 -1
View File
@@ -4,7 +4,7 @@
// Tests that specialization does not cause optimizations running on polymorphic MIR to resolve
// to a `default` implementation.
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Marker {}
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/trait_specialization.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
View File
@@ -4,6 +4,7 @@
// This test specifically checks that the [incomplete_features] warning is
// emitted when the `contracts` feature gate is enabled, so that it can be
// marked as `expect`ed in other tests in order to reduce duplication.
#![warn(incomplete_features)]
#![feature(contracts)]
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
extern crate core;
+6 -2
View File
@@ -1,11 +1,15 @@
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/incomplete-feature.rs:7:12
--> $DIR/incomplete-feature.rs:8:12
|
LL | #![feature(contracts)]
| ^^^^^^^^^
|
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
= note: `#[warn(incomplete_features)]` on by default
note: the lint level is defined here
--> $DIR/incomplete-feature.rs:7:9
|
LL | #![warn(incomplete_features)]
| ^^^^^^^^^^^^^^^^^^^
warning: 1 warning emitted
-1
View File
@@ -1,5 +1,4 @@
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait SpaceLlama {
fn fly(&self);
+2 -12
View File
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/E0520.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]: `fly` specializes an item from a parent `impl`, but that item is not marked `default`
--> $DIR/E0520.rs:17:5
--> $DIR/E0520.rs:16:5
|
LL | impl<T: Clone> SpaceLlama for T {
| ------------------------------- parent `impl` is here
@@ -19,6 +9,6 @@ LL | default fn fly(&self) {}
|
= note: to specialize, `fly` 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
View File
@@ -1,5 +1,4 @@
#![feature(adt_const_params, unsized_const_params)]
//~^ WARN the feature `unsized_const_params` is incomplete
fn function_with_str<'a, const STRING: &'a str>() {} //~ ERROR E0770
+2 -11
View File
@@ -1,18 +1,9 @@
error[E0770]: the type of const parameters must not depend on other generic parameters
--> $DIR/E0771.rs:4:41
--> $DIR/E0771.rs:3:41
|
LL | fn function_with_str<'a, const STRING: &'a str>() {}
| ^^ the type must not depend on the parameter `'a`
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/E0771.rs:1:30
|
LL | #![feature(adt_const_params, unsized_const_params)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by 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 E0770`.
@@ -1,5 +1,5 @@
error[E0658]: the `#[force_target_feature]` attribute is an experimental feature
--> $DIR/feature-gate-effective-target-features.rs:13:5
--> $DIR/feature-gate-effective-target-features.rs:14:5
|
LL | #[unsafe(force_target_feature(enable = "avx2"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -9,7 +9,7 @@ LL | #[unsafe(force_target_feature(enable = "avx2"))]
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error: `#[target_feature(..)]` cannot be applied to safe trait method
--> $DIR/feature-gate-effective-target-features.rs:21:5
--> $DIR/feature-gate-effective-target-features.rs:22:5
|
LL | #[target_feature(enable = "avx2")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot be applied to safe trait method
@@ -18,13 +18,13 @@ LL | fn foo(&self) {}
| ------------- not an `unsafe` function
error[E0053]: method `foo` has an incompatible type for trait
--> $DIR/feature-gate-effective-target-features.rs:23:5
--> $DIR/feature-gate-effective-target-features.rs:24:5
|
LL | fn foo(&self) {}
| ^^^^^^^^^^^^^ expected safe fn, found unsafe fn
|
note: type in trait
--> $DIR/feature-gate-effective-target-features.rs:7:5
--> $DIR/feature-gate-effective-target-features.rs:8:5
|
LL | fn foo(&self);
| ^^^^^^^^^^^^^^
@@ -1,14 +1,18 @@
warning: the feature `effective_target_features` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/feature-gate-effective-target-features.rs:3:30
--> $DIR/feature-gate-effective-target-features.rs:4:30
|
LL | #![cfg_attr(feature, feature(effective_target_features))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #143352 <https://github.com/rust-lang/rust/issues/143352> for more information
= note: `#[warn(incomplete_features)]` on by default
note: the lint level is defined here
--> $DIR/feature-gate-effective-target-features.rs:3:9
|
LL | #![warn(incomplete_features)]
| ^^^^^^^^^^^^^^^^^^^
error: `#[target_feature(..)]` cannot be applied to safe trait method
--> $DIR/feature-gate-effective-target-features.rs:21:5
--> $DIR/feature-gate-effective-target-features.rs:22:5
|
LL | #[target_feature(enable = "avx2")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot be applied to safe trait method
@@ -17,13 +21,13 @@ LL | fn foo(&self) {}
| ------------- not an `unsafe` function
error[E0053]: method `foo` has an incompatible type for trait
--> $DIR/feature-gate-effective-target-features.rs:23:5
--> $DIR/feature-gate-effective-target-features.rs:24:5
|
LL | fn foo(&self) {}
| ^^^^^^^^^^^^^ expected safe fn, found unsafe fn
|
note: type in trait
--> $DIR/feature-gate-effective-target-features.rs:7:5
--> $DIR/feature-gate-effective-target-features.rs:8:5
|
LL | fn foo(&self);
| ^^^^^^^^^^^^^^
@@ -1,5 +1,6 @@
//@ revisions: default feature
//@ only-x86_64
#![warn(incomplete_features)]
#![cfg_attr(feature, feature(effective_target_features))]
//[feature]~^ WARN the feature `effective_target_features` is incomplete and may not be safe to use and/or cause compiler crashes
@@ -1,7 +1,7 @@
//@ compile-flags: --crate-type=lib
//@ revisions: with_gate without_gate
//@ [with_gate] check-pass
#![warn(incomplete_features)]
#![cfg_attr(with_gate, feature(unsafe_fields))] //[with_gate]~ WARNING
#[cfg(false)]
@@ -5,7 +5,11 @@ LL | #![cfg_attr(with_gate, feature(unsafe_fields))]
| ^^^^^^^^^^^^^
|
= note: see issue #132922 <https://github.com/rust-lang/rust/issues/132922> for more information
= note: `#[warn(incomplete_features)]` on by default
note: the lint level is defined here
--> $DIR/feature-gate-unsafe_fields.rs:4:9
|
LL | #![warn(incomplete_features)]
| ^^^^^^^^^^^^^^^^^^^
warning: 1 warning emitted
@@ -1,7 +1,6 @@
//@ check-fail
#![feature(specialization)]
//~^ WARN incomplete
trait Family {
type Member<'a>: for<'b> PartialEq<Self::Member<'b>>;
@@ -1,22 +1,12 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-87429-specialization.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 `Foo` with `Foo`
--> $DIR/issue-87429-specialization.rs:20:31
--> $DIR/issue-87429-specialization.rs:19:31
|
LL | default type Member<'a> = Foo;
| ^^^ no implementation for `Foo == Foo`
|
= help: the trait `PartialEq` is not implemented for `Foo`
note: required by a bound in `Family::Member`
--> $DIR/issue-87429-specialization.rs:7:22
--> $DIR/issue-87429-specialization.rs:6:22
|
LL | type Member<'a>: for<'b> PartialEq<Self::Member<'b>>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Family::Member`
@@ -26,6 +16,6 @@ LL + #[derive(PartialEq)]
LL | struct 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 E0277`.
@@ -1,5 +1,6 @@
//@ compile-flags: --crate-type=lib
//@ revisions: with_gate without_gate
#![warn(incomplete_features)]
#![cfg_attr(with_gate, feature(impl_restriction))]
//[with_gate]~^ WARN the feature `impl_restriction` is incomplete and may not be safe to use and/or cause compiler crashes
#![feature(auto_traits, const_trait_impl)]
@@ -1,5 +1,5 @@
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:8:14
--> $DIR/recover-incorrect-impl-restriction.rs:9:14
|
LL | pub impl(crate::foo) trait Baz {}
| ^^^^^^^^^^
@@ -15,7 +15,7 @@ LL | pub impl(in crate::foo) trait Baz {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:10:21
--> $DIR/recover-incorrect-impl-restriction.rs:11:21
|
LL | pub unsafe impl(crate::foo) trait BazUnsafe {}
| ^^^^^^^^^^
@@ -31,7 +31,7 @@ LL | pub unsafe impl(in crate::foo) trait BazUnsafe {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:12:19
--> $DIR/recover-incorrect-impl-restriction.rs:13:19
|
LL | pub auto impl(crate::foo) trait BazAuto {}
| ^^^^^^^^^^
@@ -47,7 +47,7 @@ LL | pub auto impl(in crate::foo) trait BazAuto {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:14:20
--> $DIR/recover-incorrect-impl-restriction.rs:15:20
|
LL | pub const impl(crate::foo) trait BazConst {}
| ^^^^^^^^^^
@@ -63,7 +63,7 @@ LL | pub const impl(in crate::foo) trait BazConst {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:16:27
--> $DIR/recover-incorrect-impl-restriction.rs:17:27
|
LL | pub const unsafe impl(crate::foo) trait BazConstUnsafe {}
| ^^^^^^^^^^
@@ -79,7 +79,7 @@ LL | pub const unsafe impl(in crate::foo) trait BazConstUnsafe {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:18:26
--> $DIR/recover-incorrect-impl-restriction.rs:19:26
|
LL | pub unsafe auto impl(crate::foo) trait BazUnsafeAuto {}
| ^^^^^^^^^^
@@ -95,13 +95,17 @@ LL | pub unsafe auto impl(in crate::foo) trait BazUnsafeAuto {}
| ++
warning: the feature `impl_restriction` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/recover-incorrect-impl-restriction.rs:3:32
--> $DIR/recover-incorrect-impl-restriction.rs:4:32
|
LL | #![cfg_attr(with_gate, feature(impl_restriction))]
| ^^^^^^^^^^^^^^^^
|
= note: see issue #105077 <https://github.com/rust-lang/rust/issues/105077> for more information
= note: `#[warn(incomplete_features)]` on by default
note: the lint level is defined here
--> $DIR/recover-incorrect-impl-restriction.rs:3:9
|
LL | #![warn(incomplete_features)]
| ^^^^^^^^^^^^^^^^^^^
error: aborting due to 6 previous errors; 1 warning emitted
@@ -1,5 +1,5 @@
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:8:14
--> $DIR/recover-incorrect-impl-restriction.rs:9:14
|
LL | pub impl(crate::foo) trait Baz {}
| ^^^^^^^^^^
@@ -15,7 +15,7 @@ LL | pub impl(in crate::foo) trait Baz {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:10:21
--> $DIR/recover-incorrect-impl-restriction.rs:11:21
|
LL | pub unsafe impl(crate::foo) trait BazUnsafe {}
| ^^^^^^^^^^
@@ -31,7 +31,7 @@ LL | pub unsafe impl(in crate::foo) trait BazUnsafe {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:12:19
--> $DIR/recover-incorrect-impl-restriction.rs:13:19
|
LL | pub auto impl(crate::foo) trait BazAuto {}
| ^^^^^^^^^^
@@ -47,7 +47,7 @@ LL | pub auto impl(in crate::foo) trait BazAuto {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:14:20
--> $DIR/recover-incorrect-impl-restriction.rs:15:20
|
LL | pub const impl(crate::foo) trait BazConst {}
| ^^^^^^^^^^
@@ -63,7 +63,7 @@ LL | pub const impl(in crate::foo) trait BazConst {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:16:27
--> $DIR/recover-incorrect-impl-restriction.rs:17:27
|
LL | pub const unsafe impl(crate::foo) trait BazConstUnsafe {}
| ^^^^^^^^^^
@@ -79,7 +79,7 @@ LL | pub const unsafe impl(in crate::foo) trait BazConstUnsafe {}
| ++
error: incorrect `impl` restriction
--> $DIR/recover-incorrect-impl-restriction.rs:18:26
--> $DIR/recover-incorrect-impl-restriction.rs:19:26
|
LL | pub unsafe auto impl(crate::foo) trait BazUnsafeAuto {}
| ^^^^^^^^^^
@@ -95,7 +95,7 @@ LL | pub unsafe auto impl(in crate::foo) trait BazUnsafeAuto {}
| ++
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:8:9
--> $DIR/recover-incorrect-impl-restriction.rs:9:9
|
LL | pub impl(crate::foo) trait Baz {}
| ^^^^^^^^^^^^^^^^
@@ -105,7 +105,7 @@ LL | pub impl(crate::foo) trait Baz {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:10:16
--> $DIR/recover-incorrect-impl-restriction.rs:11:16
|
LL | pub unsafe impl(crate::foo) trait BazUnsafe {}
| ^^^^^^^^^^^^^^^^
@@ -115,7 +115,7 @@ LL | pub unsafe impl(crate::foo) trait BazUnsafe {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:12:14
--> $DIR/recover-incorrect-impl-restriction.rs:13:14
|
LL | pub auto impl(crate::foo) trait BazAuto {}
| ^^^^^^^^^^^^^^^^
@@ -125,7 +125,7 @@ LL | pub auto impl(crate::foo) trait BazAuto {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:14:15
--> $DIR/recover-incorrect-impl-restriction.rs:15:15
|
LL | pub const impl(crate::foo) trait BazConst {}
| ^^^^^^^^^^^^^^^^
@@ -135,7 +135,7 @@ LL | pub const impl(crate::foo) trait BazConst {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:16:22
--> $DIR/recover-incorrect-impl-restriction.rs:17:22
|
LL | pub const unsafe impl(crate::foo) trait BazConstUnsafe {}
| ^^^^^^^^^^^^^^^^
@@ -145,7 +145,7 @@ LL | pub const unsafe impl(crate::foo) trait BazConstUnsafe {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/recover-incorrect-impl-restriction.rs:18:21
--> $DIR/recover-incorrect-impl-restriction.rs:19:21
|
LL | pub unsafe auto impl(crate::foo) trait BazUnsafeAuto {}
| ^^^^^^^^^^^^^^^^
@@ -1,5 +1,6 @@
//@ compile-flags: --crate-type=lib
//@ revisions: with_gate without_gate
#![warn(incomplete_features)]
#![cfg_attr(with_gate, feature(impl_restriction))]
//[with_gate]~^ WARN the feature `impl_restriction` is incomplete and may not be safe to use and/or cause compiler crashes
#![feature(auto_traits, const_trait_impl, trait_alias)]
@@ -1,83 +1,87 @@
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:7:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:8:1
|
LL | impl(crate) trait Alias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `auto`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:9:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1
|
LL | auto impl(in crate) trait AutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:9:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1
|
LL | auto impl(in crate) trait AutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:12:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1
|
LL | unsafe impl(self) trait UnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:12:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1
|
LL | unsafe impl(self) trait UnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:15:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:16:1
|
LL | const impl(in self) trait ConstAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:19:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:20:5
|
LL | impl(super) trait InnerAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:21:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5
|
LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:21:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5
|
LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `auto`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto`
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
warning: the feature `impl_restriction` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:3:32
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:4:32
|
LL | #![cfg_attr(with_gate, feature(impl_restriction))]
| ^^^^^^^^^^^^^^^^
|
= note: see issue #105077 <https://github.com/rust-lang/rust/issues/105077> for more information
= note: `#[warn(incomplete_features)]` on by default
note: the lint level is defined here
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:3:9
|
LL | #![warn(incomplete_features)]
| ^^^^^^^^^^^^^^^^^^^
error: aborting due to 12 previous errors; 1 warning emitted
@@ -1,77 +1,77 @@
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:7:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:8:1
|
LL | impl(crate) trait Alias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `auto`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:9:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1
|
LL | auto impl(in crate) trait AutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:9:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1
|
LL | auto impl(in crate) trait AutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:12:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1
|
LL | unsafe impl(self) trait UnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:12:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1
|
LL | unsafe impl(self) trait UnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:15:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:16:1
|
LL | const impl(in self) trait ConstAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:19:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:20:5
|
LL | impl(super) trait InnerAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:21:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5
|
LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:21:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5
|
LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error: trait aliases cannot be `auto`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto`
error: trait aliases cannot be `unsafe`
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe`
error: trait aliases cannot be `impl`-restricted
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:7:1
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:8:1
|
LL | impl(crate) trait Alias = Copy;
| ^^^^^^^^^^^
@@ -81,7 +81,7 @@ LL | impl(crate) trait Alias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:9:6
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:6
|
LL | auto impl(in crate) trait AutoAlias = Copy;
| ^^^^^^^^^^^^^^
@@ -91,7 +91,7 @@ LL | auto impl(in crate) trait AutoAlias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:12:8
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:8
|
LL | unsafe impl(self) trait UnsafeAlias = Copy;
| ^^^^^^^^^^
@@ -101,7 +101,7 @@ LL | unsafe impl(self) trait UnsafeAlias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:15:7
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:16:7
|
LL | const impl(in self) trait ConstAlias = Copy;
| ^^^^^^^^^^^^^
@@ -111,7 +111,7 @@ LL | const impl(in self) trait ConstAlias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:19:5
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:20:5
|
LL | impl(super) trait InnerAlias = Copy;
| ^^^^^^^^^^^
@@ -121,7 +121,7 @@ LL | impl(super) trait InnerAlias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:21:18
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:18
|
LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^
@@ -131,7 +131,7 @@ LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: `impl` restrictions are experimental
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:24:17
--> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:17
|
LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy;
| ^^^^^^^^^^^^^^^^^^^
+1 -1
View File
@@ -1,6 +1,6 @@
//@ run-pass
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo: std::fmt::Debug + Eq {}
-12
View File
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/equality-rpass.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,6 +1,6 @@
//@ dont-require-annotations: NOTE
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo: Copy + ToString {}
+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/equality.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[E0308]: mismatched types
--> $DIR/equality.rs:17:5
|
@@ -48,7 +38,7 @@ help: the following other types implement trait `Add<Rhs>`
= note: `&u32` implements `Add`
= note: this error originates in the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
+1 -1
View File
@@ -1,6 +1,6 @@
//@ dont-require-annotations: NOTE
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
trait Foo: Copy + ToString {}
+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/equality2.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[E0308]: mismatched types
--> $DIR/equality2.rs:27:18
|
@@ -72,6 +62,6 @@ LL | x.0);
found opaque type `impl Foo` (`u32`)
= note: distinct uses of `impl Trait` result in different opaque types
error: aborting due to 4 previous errors; 1 warning emitted
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0308`.
@@ -1,7 +1,6 @@
//@ compile-flags: -Znext-solver
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete
trait Foo {}
@@ -1,53 +1,44 @@
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/alias-bounds-when-not-wf.rs:3:12
|
LL | #![feature(lazy_type_alias)]
| ^^^^^^^^^^^^^^^
|
= note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0277]: the trait bound `usize: Foo` is not satisfied
--> $DIR/alias-bounds-when-not-wf.rs:16:15
--> $DIR/alias-bounds-when-not-wf.rs:15:15
|
LL | fn hello(_: W<A<usize>>) {}
| ^^^^^^^^ the trait `Foo` is not implemented for `usize`
|
help: this trait has no implementations, consider adding one
--> $DIR/alias-bounds-when-not-wf.rs:6:1
--> $DIR/alias-bounds-when-not-wf.rs:5:1
|
LL | trait Foo {}
| ^^^^^^^^^
note: required by a bound in `A`
--> $DIR/alias-bounds-when-not-wf.rs:8:11
--> $DIR/alias-bounds-when-not-wf.rs:7:11
|
LL | type A<T: Foo> = T;
| ^^^ required by this bound in `A`
error[E0277]: the trait bound `usize: Foo` is not satisfied
--> $DIR/alias-bounds-when-not-wf.rs:16:10
--> $DIR/alias-bounds-when-not-wf.rs:15:10
|
LL | fn hello(_: W<A<usize>>) {}
| ^ the trait `Foo` is not implemented for `usize`
|
help: this trait has no implementations, consider adding one
--> $DIR/alias-bounds-when-not-wf.rs:6:1
--> $DIR/alias-bounds-when-not-wf.rs:5:1
|
LL | trait Foo {}
| ^^^^^^^^^
error[E0277]: the trait bound `usize: Foo` is not satisfied
--> $DIR/alias-bounds-when-not-wf.rs:16:1
--> $DIR/alias-bounds-when-not-wf.rs:15:1
|
LL | fn hello(_: W<A<usize>>) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `usize`
|
help: this trait has no implementations, consider adding one
--> $DIR/alias-bounds-when-not-wf.rs:6:1
--> $DIR/alias-bounds-when-not-wf.rs:5:1
|
LL | trait Foo {}
| ^^^^^^^^^
error: aborting due to 3 previous errors; 1 warning emitted
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0277`.
@@ -12,7 +12,7 @@
//! constant.
#![feature(rustc_attrs)]
#![feature(generic_const_exprs)] //~ WARNING: the feature `generic_const_exprs` is incomplete
#![feature(generic_const_exprs)]
#![feature(trivial_bounds)]
#![crate_type = "lib"]
@@ -1,17 +1,8 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/gce-rigid-const-in-array-len.rs:15:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
error: the type `[u8; <u8 as A>::B]` has an unknown layout
--> $DIR/gce-rigid-const-in-array-len.rs:25:1
|
LL | struct S([u8; <u8 as A>::B])
| ^^^^^^^^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -1,7 +1,6 @@
// regression test for #127351
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete
type ExplicitTypeOutlives<T> = T;
@@ -1,20 +1,11 @@
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/bad-lazy-type-alias.rs:3:12
|
LL | #![feature(lazy_type_alias)]
| ^^^^^^^^^^^^^^^
|
= note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0107]: missing generics for type alias `ExplicitTypeOutlives`
--> $DIR/bad-lazy-type-alias.rs:9:24
--> $DIR/bad-lazy-type-alias.rs:8:24
|
LL | _significant_drop: ExplicitTypeOutlives,
| ^^^^^^^^^^^^^^^^^^^^ expected 1 generic argument
|
note: type alias defined here, with 1 generic parameter: `T`
--> $DIR/bad-lazy-type-alias.rs:6:6
--> $DIR/bad-lazy-type-alias.rs:5:6
|
LL | type ExplicitTypeOutlives<T> = T;
| ^^^^^^^^^^^^^^^^^^^^ -
@@ -23,6 +14,6 @@ help: add missing generic argument
LL | _significant_drop: ExplicitTypeOutlives<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 E0107`.
@@ -1,11 +0,0 @@
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/coerce-behind-lazy.rs:6:12
|
LL | #![feature(lazy_type_alias)]
| ^^^^^^^^^^^^^^^
|
= note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,11 +0,0 @@
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/coerce-behind-lazy.rs:6:12
|
LL | #![feature(lazy_type_alias)]
| ^^^^^^^^^^^^^^^
|
= note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -4,7 +4,6 @@
//@[next] compile-flags: -Znext-solver
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete
use std::any::Any;
-1
View File
@@ -2,7 +2,6 @@
//@ check-pass
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete and may not be safe to use
enum Enum {
Unit,
@@ -1,11 +0,0 @@
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/enum-variant.rs:4:12
|
LL | #![feature(lazy_type_alias)]
| ^^^^^^^^^^^^^^^
|
= note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,7 +1,7 @@
//@ run-pass
#![feature(marker_trait_attr)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
#[marker]
trait MyMarker {}
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/overlap-doesnt-conflict-with-specialization.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,7 +1,6 @@
// Semantically, we do not allow e.g., `static X: u8 = 0;` as an associated item.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
fn main() {}
@@ -1,17 +1,17 @@
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:10:5
--> $DIR/assoc-static-semantic-fail.rs:9:5
|
LL | static IA: u8 = 0;
| ^^^^^^^^^^^^^^^^^^
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:12:5
--> $DIR/assoc-static-semantic-fail.rs:11:5
|
LL | static IB: u8;
| ^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:15:5
--> $DIR/assoc-static-semantic-fail.rs:14:5
|
LL | default static IC: u8 = 0;
| ^^^^^^^ `default` because of this
@@ -19,13 +19,13 @@ LL | default static IC: u8 = 0;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:15:5
--> $DIR/assoc-static-semantic-fail.rs:14:5
|
LL | default static IC: u8 = 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:18:16
--> $DIR/assoc-static-semantic-fail.rs:17:16
|
LL | pub(crate) default static ID: u8;
| ^^^^^^^ `default` because of this
@@ -33,25 +33,25 @@ LL | pub(crate) default static ID: u8;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:18:5
--> $DIR/assoc-static-semantic-fail.rs:17:5
|
LL | pub(crate) default static ID: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:25:5
--> $DIR/assoc-static-semantic-fail.rs:24:5
|
LL | static TA: u8 = 0;
| ^^^^^^^^^^^^^^^^^^
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:27:5
--> $DIR/assoc-static-semantic-fail.rs:26:5
|
LL | static TB: u8;
| ^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:29:5
--> $DIR/assoc-static-semantic-fail.rs:28:5
|
LL | default static TC: u8 = 0;
| ^^^^^^^ `default` because of this
@@ -59,13 +59,13 @@ LL | default static TC: u8 = 0;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:29:5
--> $DIR/assoc-static-semantic-fail.rs:28:5
|
LL | default static TC: u8 = 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:32:16
--> $DIR/assoc-static-semantic-fail.rs:31:16
|
LL | pub(crate) default static TD: u8;
| ^^^^^^^ `default` because of this
@@ -73,25 +73,25 @@ LL | pub(crate) default static TD: u8;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:32:5
--> $DIR/assoc-static-semantic-fail.rs:31:5
|
LL | pub(crate) default static TD: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:39:5
--> $DIR/assoc-static-semantic-fail.rs:38:5
|
LL | static TA: u8 = 0;
| ^^^^^^^^^^^^^^^^^^
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:41:5
--> $DIR/assoc-static-semantic-fail.rs:40:5
|
LL | static TB: u8;
| ^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:44:5
--> $DIR/assoc-static-semantic-fail.rs:43:5
|
LL | default static TC: u8 = 0;
| ^^^^^^^ `default` because of this
@@ -99,13 +99,13 @@ LL | default static TC: u8 = 0;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:44:5
--> $DIR/assoc-static-semantic-fail.rs:43:5
|
LL | default static TC: u8 = 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: a static item cannot be `default`
--> $DIR/assoc-static-semantic-fail.rs:47:9
--> $DIR/assoc-static-semantic-fail.rs:46:9
|
LL | pub default static TD: u8;
| ^^^^^^^ `default` because of this
@@ -113,13 +113,13 @@ LL | pub default static TD: u8;
= note: only associated `fn`, `const`, and `type` items can be `default`
error: associated `static` items are not allowed
--> $DIR/assoc-static-semantic-fail.rs:47:5
--> $DIR/assoc-static-semantic-fail.rs:46:5
|
LL | pub default static TD: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: associated constant in `impl` without body
--> $DIR/assoc-static-semantic-fail.rs:12:5
--> $DIR/assoc-static-semantic-fail.rs:11:5
|
LL | static IB: u8;
| ^^^^^^^^^^^^^-
@@ -127,7 +127,7 @@ LL | static IB: u8;
| help: provide a definition for the constant: `= <expr>;`
error: associated constant in `impl` without body
--> $DIR/assoc-static-semantic-fail.rs:18:5
--> $DIR/assoc-static-semantic-fail.rs:17:5
|
LL | pub(crate) default static ID: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
@@ -135,7 +135,7 @@ LL | pub(crate) default static ID: u8;
| help: provide a definition for the constant: `= <expr>;`
error[E0449]: visibility qualifiers are not permitted here
--> $DIR/assoc-static-semantic-fail.rs:32:5
--> $DIR/assoc-static-semantic-fail.rs:31:5
|
LL | pub(crate) default static TD: u8;
| ^^^^^^^^^^ help: remove the qualifier
@@ -143,7 +143,7 @@ LL | pub(crate) default static TD: u8;
= note: trait items always share the visibility of their trait
error: associated constant in `impl` without body
--> $DIR/assoc-static-semantic-fail.rs:41:5
--> $DIR/assoc-static-semantic-fail.rs:40:5
|
LL | static TB: u8;
| ^^^^^^^^^^^^^-
@@ -151,7 +151,7 @@ LL | static TB: u8;
| help: provide a definition for the constant: `= <expr>;`
error: associated constant in `impl` without body
--> $DIR/assoc-static-semantic-fail.rs:47:5
--> $DIR/assoc-static-semantic-fail.rs:46:5
|
LL | pub default static TD: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^-
@@ -159,23 +159,13 @@ LL | pub default static TD: u8;
| help: provide a definition for the constant: `= <expr>;`
error[E0449]: visibility qualifiers are not permitted here
--> $DIR/assoc-static-semantic-fail.rs:47:5
--> $DIR/assoc-static-semantic-fail.rs:46:5
|
LL | pub default static TD: u8;
| ^^^ help: remove the qualifier
|
= note: trait items always share the visibility of their trait
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/assoc-static-semantic-fail.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: aborting due to 24 previous errors; 1 warning emitted
error: aborting due to 24 previous errors
For more information about this error, try `rustc --explain E0449`.
-1
View File
@@ -1,7 +1,6 @@
// Test successful and unsuccessful parsing of the `default` contextual keyword
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Foo {
fn foo<T: Default>() -> T;
+5 -15
View File
@@ -1,5 +1,5 @@
error: `default` is not followed by an item
--> $DIR/default.rs:23:5
--> $DIR/default.rs:22:5
|
LL | default pub fn foo<T: Default>() -> T { T::default() }
| ^^^^^^^ the `default` qualifier
@@ -7,7 +7,7 @@ LL | default pub fn foo<T: Default>() -> T { T::default() }
= note: only `fn`, `const`, `type`, or `impl` items may be prefixed by `default`
error: non-item in item list
--> $DIR/default.rs:23:13
--> $DIR/default.rs:22:13
|
LL | impl Foo for u32 {
| - item list starts here
@@ -18,25 +18,15 @@ LL | }
| - item list ends here
error[E0449]: visibility qualifiers are not permitted here
--> $DIR/default.rs:17:5
--> $DIR/default.rs:16:5
|
LL | pub default fn foo<T: Default>() -> T {
| ^^^ help: remove the qualifier
|
= note: trait items always share the visibility of their trait
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/default.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`
--> $DIR/default.rs:22:1
--> $DIR/default.rs:21:1
|
LL | fn foo<T: Default>() -> T;
| -------------------------- `foo` from trait
@@ -44,7 +34,7 @@ LL | fn foo<T: Default>() -> T;
LL | impl Foo for u32 {
| ^^^^^^^^^^^^^^^^ missing `foo` in implementation
error: aborting due to 4 previous errors; 1 warning emitted
error: aborting due to 4 previous errors
Some errors have detailed explanations: E0046, E0449.
For more information about an error, try `rustc --explain E0046`.
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
fn main() {}
@@ -70,15 +70,5 @@ LL | default fn h() {}
| |
| `default` because of this
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/defaultness-invalid-places-fail-semantic.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: aborting due to 9 previous errors; 1 warning emitted
error: aborting due to 9 previous errors
@@ -1,5 +1,5 @@
error: unreachable pattern
--> $DIR/empty-types.rs:48:9
--> $DIR/empty-types.rs:47:9
|
LL | _ => {}
| ^------
@@ -9,13 +9,13 @@ LL | _ => {}
|
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
note: the lint level is defined here
--> $DIR/empty-types.rs:14:9
--> $DIR/empty-types.rs:13:9
|
LL | #![deny(unreachable_patterns)]
| ^^^^^^^^^^^^^^^^^^^^
error: unreachable pattern
--> $DIR/empty-types.rs:51:9
--> $DIR/empty-types.rs:50:9
|
LL | _x => {}
| ^^------
@@ -26,7 +26,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: type `&!` is non-empty
--> $DIR/empty-types.rs:55:11
--> $DIR/empty-types.rs:54:11
|
LL | match ref_never {}
| ^^^^^^^^^
@@ -41,7 +41,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:69:9
--> $DIR/empty-types.rs:68:9
|
LL | (_, _) => {}
| ^^^^^^------
@@ -52,7 +52,7 @@ LL | (_, _) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:75:9
--> $DIR/empty-types.rs:74:9
|
LL | _ => {}
| ^------
@@ -63,7 +63,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:78:9
--> $DIR/empty-types.rs:77:9
|
LL | (_, _) => {}
| ^^^^^^------
@@ -74,7 +74,7 @@ LL | (_, _) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:82:9
--> $DIR/empty-types.rs:81:9
|
LL | _ => {}
| ^------
@@ -85,7 +85,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Ok(_)` not covered
--> $DIR/empty-types.rs:86:11
--> $DIR/empty-types.rs:85:11
|
LL | match res_u32_never {}
| ^^^^^^^^^^^^^ pattern `Ok(_)` not covered
@@ -104,7 +104,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:93:9
--> $DIR/empty-types.rs:92:9
|
LL | Err(_) => {}
| ^^^^^^------
@@ -115,7 +115,7 @@ LL | Err(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:98:9
--> $DIR/empty-types.rs:97:9
|
LL | Err(_) => {}
| ^^^^^^------
@@ -126,7 +126,7 @@ LL | Err(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Ok(1_u32..=u32::MAX)` not covered
--> $DIR/empty-types.rs:95:11
--> $DIR/empty-types.rs:94:11
|
LL | match res_u32_never {
| ^^^^^^^^^^^^^ pattern `Ok(1_u32..=u32::MAX)` not covered
@@ -144,7 +144,7 @@ LL ~ Ok(1_u32..=u32::MAX) => todo!()
|
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:101:9
--> $DIR/empty-types.rs:100:9
|
LL | let Ok(_x) = res_u32_never.as_ref();
| ^^^^^^ pattern `Err(_)` not covered
@@ -158,7 +158,7 @@ LL | let Ok(_x) = res_u32_never.as_ref() else { todo!() };
| ++++++++++++++++
error: unreachable pattern
--> $DIR/empty-types.rs:111:9
--> $DIR/empty-types.rs:110:9
|
LL | _ => {}
| ^------
@@ -169,7 +169,18 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:114:9
--> $DIR/empty-types.rs:113:9
|
LL | Ok(_) => {}
| ^^^^^------
| |
| matches no values because `Result<!, !>` is uninhabited
| help: remove the match arm
|
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:116:9
|
LL | Ok(_) => {}
| ^^^^^------
@@ -182,17 +193,6 @@ LL | Ok(_) => {}
error: unreachable pattern
--> $DIR/empty-types.rs:117:9
|
LL | Ok(_) => {}
| ^^^^^------
| |
| matches no values because `Result<!, !>` is uninhabited
| help: remove the match arm
|
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:118:9
|
LL | _ => {}
| ^------
| |
@@ -202,7 +202,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:121:9
--> $DIR/empty-types.rs:120:9
|
LL | Ok(_) => {}
| ^^^^^------
@@ -213,7 +213,7 @@ LL | Ok(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:122:9
--> $DIR/empty-types.rs:121:9
|
LL | Err(_) => {}
| ^^^^^^------
@@ -224,7 +224,7 @@ LL | Err(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:131:13
--> $DIR/empty-types.rs:130:13
|
LL | _ => {}
| ^------
@@ -235,7 +235,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:134:13
--> $DIR/empty-types.rs:133:13
|
LL | _ if false => {}
| ^---------------
@@ -246,7 +246,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:142:13
--> $DIR/empty-types.rs:141:13
|
LL | Some(_) => {}
| ^^^^^^^------
@@ -257,7 +257,7 @@ LL | Some(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:146:13
--> $DIR/empty-types.rs:145:13
|
LL | None => {}
| ---- matches all the relevant values
@@ -265,7 +265,7 @@ LL | _ => {}
| ^ no value can reach this
error: unreachable pattern
--> $DIR/empty-types.rs:198:13
--> $DIR/empty-types.rs:197:13
|
LL | _ => {}
| ^------
@@ -276,7 +276,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:203:13
--> $DIR/empty-types.rs:202:13
|
LL | _ => {}
| ^------
@@ -287,7 +287,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:208:13
--> $DIR/empty-types.rs:207:13
|
LL | _ => {}
| ^------
@@ -298,7 +298,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:213:13
--> $DIR/empty-types.rs:212:13
|
LL | _ => {}
| ^------
@@ -309,7 +309,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:219:13
--> $DIR/empty-types.rs:218:13
|
LL | _ => {}
| ^------
@@ -320,7 +320,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:280:9
--> $DIR/empty-types.rs:279:9
|
LL | _ => {}
| ^------
@@ -331,7 +331,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:283:9
--> $DIR/empty-types.rs:282:9
|
LL | (_, _) => {}
| ^^^^^^------
@@ -342,7 +342,7 @@ LL | (_, _) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:286:9
--> $DIR/empty-types.rs:285:9
|
LL | Ok(_) => {}
| ^^^^^------
@@ -353,7 +353,7 @@ LL | Ok(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:287:9
--> $DIR/empty-types.rs:286:9
|
LL | Err(_) => {}
| ^^^^^^------
@@ -364,7 +364,7 @@ LL | Err(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: type `&[!]` is non-empty
--> $DIR/empty-types.rs:326:11
--> $DIR/empty-types.rs:325:11
|
LL | match slice_never {}
| ^^^^^^^^^^^
@@ -378,7 +378,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `&[]` not covered
--> $DIR/empty-types.rs:337:11
--> $DIR/empty-types.rs:336:11
|
LL | match slice_never {
| ^^^^^^^^^^^ pattern `&[]` not covered
@@ -391,7 +391,7 @@ LL + &[] => todo!()
|
error[E0004]: non-exhaustive patterns: `&[]` not covered
--> $DIR/empty-types.rs:351:11
--> $DIR/empty-types.rs:350:11
|
LL | match slice_never {
| ^^^^^^^^^^^ pattern `&[]` not covered
@@ -405,7 +405,7 @@ LL + &[] => todo!()
|
error[E0004]: non-exhaustive patterns: type `[!]` is non-empty
--> $DIR/empty-types.rs:358:11
--> $DIR/empty-types.rs:357:11
|
LL | match *slice_never {}
| ^^^^^^^^^^^^
@@ -419,7 +419,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:367:9
--> $DIR/empty-types.rs:366:9
|
LL | _ => {}
| ^------
@@ -430,7 +430,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:370:9
--> $DIR/empty-types.rs:369:9
|
LL | [_, _, _] => {}
| ^^^^^^^^^------
@@ -441,7 +441,7 @@ LL | [_, _, _] => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:373:9
--> $DIR/empty-types.rs:372:9
|
LL | [_, ..] => {}
| ^^^^^^^------
@@ -452,7 +452,7 @@ LL | [_, ..] => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: type `[!; 0]` is non-empty
--> $DIR/empty-types.rs:387:11
--> $DIR/empty-types.rs:386:11
|
LL | match array_0_never {}
| ^^^^^^^^^^^^^
@@ -466,7 +466,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:394:9
--> $DIR/empty-types.rs:393:9
|
LL | [] => {}
| -- matches all the relevant values
@@ -474,7 +474,7 @@ LL | _ => {}
| ^ no value can reach this
error[E0004]: non-exhaustive patterns: `[]` not covered
--> $DIR/empty-types.rs:396:11
--> $DIR/empty-types.rs:395:11
|
LL | match array_0_never {
| ^^^^^^^^^^^^^ pattern `[]` not covered
@@ -488,7 +488,7 @@ LL + [] => todo!()
|
error: unreachable pattern
--> $DIR/empty-types.rs:415:9
--> $DIR/empty-types.rs:414:9
|
LL | Some(_) => {}
| ^^^^^^^------
@@ -499,7 +499,7 @@ LL | Some(_) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:420:9
--> $DIR/empty-types.rs:419:9
|
LL | Some(_a) => {}
| ^^^^^^^^------
@@ -510,7 +510,7 @@ LL | Some(_a) => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:425:9
--> $DIR/empty-types.rs:424:9
|
LL | None => {}
| ---- matches all the relevant values
@@ -519,7 +519,7 @@ LL | _ => {}
| ^ no value can reach this
error: unreachable pattern
--> $DIR/empty-types.rs:430:9
--> $DIR/empty-types.rs:429:9
|
LL | None => {}
| ---- matches all the relevant values
@@ -528,7 +528,7 @@ LL | _a => {}
| ^^ no value can reach this
error: unreachable pattern
--> $DIR/empty-types.rs:602:9
--> $DIR/empty-types.rs:601:9
|
LL | _ => {}
| ^------
@@ -539,7 +539,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:605:9
--> $DIR/empty-types.rs:604:9
|
LL | _x => {}
| ^^------
@@ -550,7 +550,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:608:9
--> $DIR/empty-types.rs:607:9
|
LL | _ if false => {}
| ^---------------
@@ -561,7 +561,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:611:9
--> $DIR/empty-types.rs:610:9
|
LL | _x if false => {}
| ^^---------------
@@ -1,14 +1,5 @@
warning: the feature `never_patterns` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/empty-types.rs:11:33
|
LL | #![cfg_attr(never_pats, feature(never_patterns))]
| ^^^^^^^^^^^^^^
|
= note: see issue #118155 <https://github.com/rust-lang/rust/issues/118155> for more information
= note: `#[warn(incomplete_features)]` on by default
error: unreachable pattern
--> $DIR/empty-types.rs:48:9
--> $DIR/empty-types.rs:47:9
|
LL | _ => {}
| ^------
@@ -18,13 +9,13 @@ LL | _ => {}
|
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
note: the lint level is defined here
--> $DIR/empty-types.rs:14:9
--> $DIR/empty-types.rs:13:9
|
LL | #![deny(unreachable_patterns)]
| ^^^^^^^^^^^^^^^^^^^^
error: unreachable pattern
--> $DIR/empty-types.rs:51:9
--> $DIR/empty-types.rs:50:9
|
LL | _x => {}
| ^^------
@@ -35,7 +26,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: type `&!` is non-empty
--> $DIR/empty-types.rs:55:11
--> $DIR/empty-types.rs:54:11
|
LL | match ref_never {}
| ^^^^^^^^^
@@ -50,7 +41,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:82:9
--> $DIR/empty-types.rs:81:9
|
LL | _ => {}
| ^------
@@ -61,7 +52,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Ok(_)` not covered
--> $DIR/empty-types.rs:86:11
--> $DIR/empty-types.rs:85:11
|
LL | match res_u32_never {}
| ^^^^^^^^^^^^^ pattern `Ok(_)` not covered
@@ -80,7 +71,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `Ok(1_u32..=u32::MAX)` not covered
--> $DIR/empty-types.rs:95:11
--> $DIR/empty-types.rs:94:11
|
LL | match res_u32_never {
| ^^^^^^^^^^^^^ pattern `Ok(1_u32..=u32::MAX)` not covered
@@ -98,7 +89,7 @@ LL ~ Ok(1_u32..=u32::MAX) => todo!()
|
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:101:9
--> $DIR/empty-types.rs:100:9
|
LL | let Ok(_x) = res_u32_never.as_ref();
| ^^^^^^ pattern `Err(_)` not covered
@@ -112,7 +103,7 @@ LL | let Ok(_x) = res_u32_never.as_ref() else { todo!() };
| ++++++++++++++++
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:105:9
--> $DIR/empty-types.rs:104:9
|
LL | let Ok(_x) = &res_u32_never;
| ^^^^^^ pattern `&Err(!)` not covered
@@ -126,7 +117,7 @@ LL | let Ok(_x) = &res_u32_never else { todo!() };
| ++++++++++++++++
error: unreachable pattern
--> $DIR/empty-types.rs:131:13
--> $DIR/empty-types.rs:130:13
|
LL | _ => {}
| ^------
@@ -137,7 +128,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:134:13
--> $DIR/empty-types.rs:133:13
|
LL | _ if false => {}
| ^---------------
@@ -148,7 +139,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Some(!)` not covered
--> $DIR/empty-types.rs:155:15
--> $DIR/empty-types.rs:154:15
|
LL | match *ref_opt_void {
| ^^^^^^^^^^^^^ pattern `Some(!)` not covered
@@ -167,7 +158,7 @@ LL + Some(!)
|
error: unreachable pattern
--> $DIR/empty-types.rs:198:13
--> $DIR/empty-types.rs:197:13
|
LL | _ => {}
| ^------
@@ -178,7 +169,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:203:13
--> $DIR/empty-types.rs:202:13
|
LL | _ => {}
| ^------
@@ -189,7 +180,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:208:13
--> $DIR/empty-types.rs:207:13
|
LL | _ => {}
| ^------
@@ -200,7 +191,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:213:13
--> $DIR/empty-types.rs:212:13
|
LL | _ => {}
| ^------
@@ -211,7 +202,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:219:13
--> $DIR/empty-types.rs:218:13
|
LL | _ => {}
| ^------
@@ -222,7 +213,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:280:9
--> $DIR/empty-types.rs:279:9
|
LL | _ => {}
| ^------
@@ -233,7 +224,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:296:13
--> $DIR/empty-types.rs:295:13
|
LL | let Ok(_) = *ptr_result_never_err;
| ^^^^^ pattern `Err(!)` not covered
@@ -247,7 +238,7 @@ LL | if let Ok(_) = *ptr_result_never_err { todo!() };
| ++ +++++++++++
error[E0004]: non-exhaustive patterns: type `(u32, !)` is non-empty
--> $DIR/empty-types.rs:315:11
--> $DIR/empty-types.rs:314:11
|
LL | match *x {}
| ^^
@@ -261,7 +252,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `(!, !)` is non-empty
--> $DIR/empty-types.rs:317:11
--> $DIR/empty-types.rs:316:11
|
LL | match *x {}
| ^^
@@ -275,7 +266,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `Ok(!)` and `Err(!)` not covered
--> $DIR/empty-types.rs:319:11
--> $DIR/empty-types.rs:318:11
|
LL | match *x {}
| ^^ patterns `Ok(!)` and `Err(!)` not covered
@@ -297,7 +288,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `[!; 3]` is non-empty
--> $DIR/empty-types.rs:321:11
--> $DIR/empty-types.rs:320:11
|
LL | match *x {}
| ^^
@@ -311,7 +302,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `&[!]` is non-empty
--> $DIR/empty-types.rs:326:11
--> $DIR/empty-types.rs:325:11
|
LL | match slice_never {}
| ^^^^^^^^^^^
@@ -325,7 +316,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `&[!, ..]` not covered
--> $DIR/empty-types.rs:328:11
--> $DIR/empty-types.rs:327:11
|
LL | match slice_never {
| ^^^^^^^^^^^ pattern `&[!, ..]` not covered
@@ -339,7 +330,7 @@ LL + &[!, ..]
|
error[E0004]: non-exhaustive patterns: `&[]`, `&[!]` and `&[!, !]` not covered
--> $DIR/empty-types.rs:337:11
--> $DIR/empty-types.rs:336:11
|
LL | match slice_never {
| ^^^^^^^^^^^ patterns `&[]`, `&[!]` and `&[!, !]` not covered
@@ -352,7 +343,7 @@ LL + &[] | &[!] | &[!, !] => todo!()
|
error[E0004]: non-exhaustive patterns: `&[]` and `&[!, ..]` not covered
--> $DIR/empty-types.rs:351:11
--> $DIR/empty-types.rs:350:11
|
LL | match slice_never {
| ^^^^^^^^^^^ patterns `&[]` and `&[!, ..]` not covered
@@ -366,7 +357,7 @@ LL + &[] | &[!, ..] => todo!()
|
error[E0004]: non-exhaustive patterns: type `[!]` is non-empty
--> $DIR/empty-types.rs:358:11
--> $DIR/empty-types.rs:357:11
|
LL | match *slice_never {}
| ^^^^^^^^^^^^
@@ -380,7 +371,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `[!; 0]` is non-empty
--> $DIR/empty-types.rs:387:11
--> $DIR/empty-types.rs:386:11
|
LL | match array_0_never {}
| ^^^^^^^^^^^^^
@@ -394,7 +385,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:394:9
--> $DIR/empty-types.rs:393:9
|
LL | [] => {}
| -- matches all the relevant values
@@ -402,7 +393,7 @@ LL | _ => {}
| ^ no value can reach this
error[E0004]: non-exhaustive patterns: `[]` not covered
--> $DIR/empty-types.rs:396:11
--> $DIR/empty-types.rs:395:11
|
LL | match array_0_never {
| ^^^^^^^^^^^^^ pattern `[]` not covered
@@ -416,7 +407,7 @@ LL + [] => todo!()
|
error[E0004]: non-exhaustive patterns: `&Some(!)` not covered
--> $DIR/empty-types.rs:450:11
--> $DIR/empty-types.rs:449:11
|
LL | match ref_opt_never {
| ^^^^^^^^^^^^^ pattern `&Some(!)` not covered
@@ -435,7 +426,7 @@ LL + &Some(!)
|
error[E0004]: non-exhaustive patterns: `Some(!)` not covered
--> $DIR/empty-types.rs:491:11
--> $DIR/empty-types.rs:490:11
|
LL | match *ref_opt_never {
| ^^^^^^^^^^^^^^ pattern `Some(!)` not covered
@@ -454,7 +445,7 @@ LL + Some(!)
|
error[E0004]: non-exhaustive patterns: `Err(!)` not covered
--> $DIR/empty-types.rs:539:11
--> $DIR/empty-types.rs:538:11
|
LL | match *ref_res_never {
| ^^^^^^^^^^^^^^ pattern `Err(!)` not covered
@@ -473,7 +464,7 @@ LL + Err(!)
|
error[E0004]: non-exhaustive patterns: `Err(!)` not covered
--> $DIR/empty-types.rs:550:11
--> $DIR/empty-types.rs:549:11
|
LL | match *ref_res_never {
| ^^^^^^^^^^^^^^ pattern `Err(!)` not covered
@@ -492,7 +483,7 @@ LL + Err(!)
|
error[E0004]: non-exhaustive patterns: type `(u32, !)` is non-empty
--> $DIR/empty-types.rs:569:11
--> $DIR/empty-types.rs:568:11
|
LL | match *ref_tuple_half_never {}
| ^^^^^^^^^^^^^^^^^^^^^
@@ -506,7 +497,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:602:9
--> $DIR/empty-types.rs:601:9
|
LL | _ => {}
| ^------
@@ -517,7 +508,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:605:9
--> $DIR/empty-types.rs:604:9
|
LL | _x => {}
| ^^------
@@ -528,7 +519,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:608:9
--> $DIR/empty-types.rs:607:9
|
LL | _ if false => {}
| ^---------------
@@ -539,7 +530,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:611:9
--> $DIR/empty-types.rs:610:9
|
LL | _x if false => {}
| ^^---------------
@@ -550,7 +541,7 @@ LL | _x if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `&!` not covered
--> $DIR/empty-types.rs:636:11
--> $DIR/empty-types.rs:635:11
|
LL | match ref_never {
| ^^^^^^^^^ pattern `&!` not covered
@@ -566,7 +557,7 @@ LL + &!
|
error[E0004]: non-exhaustive patterns: `Ok(!)` not covered
--> $DIR/empty-types.rs:652:11
--> $DIR/empty-types.rs:651:11
|
LL | match *ref_result_never {
| ^^^^^^^^^^^^^^^^^ pattern `Ok(!)` not covered
@@ -585,7 +576,7 @@ LL + Ok(!)
|
error[E0004]: non-exhaustive patterns: `Some(!)` not covered
--> $DIR/empty-types.rs:672:11
--> $DIR/empty-types.rs:671:11
|
LL | match *x {
| ^^ pattern `Some(!)` not covered
@@ -603,7 +594,7 @@ LL ~ None => {},
LL + Some(!)
|
error: aborting due to 42 previous errors; 1 warning emitted
error: aborting due to 42 previous errors
Some errors have detailed explanations: E0004, E0005.
For more information about an error, try `rustc --explain E0004`.
@@ -1,5 +1,5 @@
error: unreachable pattern
--> $DIR/empty-types.rs:48:9
--> $DIR/empty-types.rs:47:9
|
LL | _ => {}
| ^------
@@ -9,13 +9,13 @@ LL | _ => {}
|
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
note: the lint level is defined here
--> $DIR/empty-types.rs:14:9
--> $DIR/empty-types.rs:13:9
|
LL | #![deny(unreachable_patterns)]
| ^^^^^^^^^^^^^^^^^^^^
error: unreachable pattern
--> $DIR/empty-types.rs:51:9
--> $DIR/empty-types.rs:50:9
|
LL | _x => {}
| ^^------
@@ -26,7 +26,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: type `&!` is non-empty
--> $DIR/empty-types.rs:55:11
--> $DIR/empty-types.rs:54:11
|
LL | match ref_never {}
| ^^^^^^^^^
@@ -41,7 +41,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:82:9
--> $DIR/empty-types.rs:81:9
|
LL | _ => {}
| ^------
@@ -52,7 +52,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Ok(_)` not covered
--> $DIR/empty-types.rs:86:11
--> $DIR/empty-types.rs:85:11
|
LL | match res_u32_never {}
| ^^^^^^^^^^^^^ pattern `Ok(_)` not covered
@@ -71,7 +71,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `Ok(1_u32..=u32::MAX)` not covered
--> $DIR/empty-types.rs:95:11
--> $DIR/empty-types.rs:94:11
|
LL | match res_u32_never {
| ^^^^^^^^^^^^^ pattern `Ok(1_u32..=u32::MAX)` not covered
@@ -89,7 +89,7 @@ LL ~ Ok(1_u32..=u32::MAX) => todo!()
|
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:101:9
--> $DIR/empty-types.rs:100:9
|
LL | let Ok(_x) = res_u32_never.as_ref();
| ^^^^^^ pattern `Err(_)` not covered
@@ -103,7 +103,7 @@ LL | let Ok(_x) = res_u32_never.as_ref() else { todo!() };
| ++++++++++++++++
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:105:9
--> $DIR/empty-types.rs:104:9
|
LL | let Ok(_x) = &res_u32_never;
| ^^^^^^ pattern `&Err(_)` not covered
@@ -117,7 +117,7 @@ LL | let Ok(_x) = &res_u32_never else { todo!() };
| ++++++++++++++++
error: unreachable pattern
--> $DIR/empty-types.rs:131:13
--> $DIR/empty-types.rs:130:13
|
LL | _ => {}
| ^------
@@ -128,7 +128,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:134:13
--> $DIR/empty-types.rs:133:13
|
LL | _ if false => {}
| ^---------------
@@ -139,7 +139,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `Some(_)` not covered
--> $DIR/empty-types.rs:155:15
--> $DIR/empty-types.rs:154:15
|
LL | match *ref_opt_void {
| ^^^^^^^^^^^^^ pattern `Some(_)` not covered
@@ -158,7 +158,7 @@ LL + Some(_) => todo!()
|
error: unreachable pattern
--> $DIR/empty-types.rs:198:13
--> $DIR/empty-types.rs:197:13
|
LL | _ => {}
| ^------
@@ -169,7 +169,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:203:13
--> $DIR/empty-types.rs:202:13
|
LL | _ => {}
| ^------
@@ -180,7 +180,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:208:13
--> $DIR/empty-types.rs:207:13
|
LL | _ => {}
| ^------
@@ -191,7 +191,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:213:13
--> $DIR/empty-types.rs:212:13
|
LL | _ => {}
| ^------
@@ -202,7 +202,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:219:13
--> $DIR/empty-types.rs:218:13
|
LL | _ => {}
| ^------
@@ -213,7 +213,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:280:9
--> $DIR/empty-types.rs:279:9
|
LL | _ => {}
| ^------
@@ -224,7 +224,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0005]: refutable pattern in local binding
--> $DIR/empty-types.rs:296:13
--> $DIR/empty-types.rs:295:13
|
LL | let Ok(_) = *ptr_result_never_err;
| ^^^^^ pattern `Err(_)` not covered
@@ -238,7 +238,7 @@ LL | if let Ok(_) = *ptr_result_never_err { todo!() };
| ++ +++++++++++
error[E0004]: non-exhaustive patterns: type `(u32, !)` is non-empty
--> $DIR/empty-types.rs:315:11
--> $DIR/empty-types.rs:314:11
|
LL | match *x {}
| ^^
@@ -252,7 +252,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `(!, !)` is non-empty
--> $DIR/empty-types.rs:317:11
--> $DIR/empty-types.rs:316:11
|
LL | match *x {}
| ^^
@@ -266,7 +266,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `Ok(_)` and `Err(_)` not covered
--> $DIR/empty-types.rs:319:11
--> $DIR/empty-types.rs:318:11
|
LL | match *x {}
| ^^ patterns `Ok(_)` and `Err(_)` not covered
@@ -288,7 +288,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `[!; 3]` is non-empty
--> $DIR/empty-types.rs:321:11
--> $DIR/empty-types.rs:320:11
|
LL | match *x {}
| ^^
@@ -302,7 +302,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `&[!]` is non-empty
--> $DIR/empty-types.rs:326:11
--> $DIR/empty-types.rs:325:11
|
LL | match slice_never {}
| ^^^^^^^^^^^
@@ -316,7 +316,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: `&[_, ..]` not covered
--> $DIR/empty-types.rs:328:11
--> $DIR/empty-types.rs:327:11
|
LL | match slice_never {
| ^^^^^^^^^^^ pattern `&[_, ..]` not covered
@@ -330,7 +330,7 @@ LL + &[_, ..] => todo!()
|
error[E0004]: non-exhaustive patterns: `&[]`, `&[_]` and `&[_, _]` not covered
--> $DIR/empty-types.rs:337:11
--> $DIR/empty-types.rs:336:11
|
LL | match slice_never {
| ^^^^^^^^^^^ patterns `&[]`, `&[_]` and `&[_, _]` not covered
@@ -343,7 +343,7 @@ LL + &[] | &[_] | &[_, _] => todo!()
|
error[E0004]: non-exhaustive patterns: `&[]` and `&[_, ..]` not covered
--> $DIR/empty-types.rs:351:11
--> $DIR/empty-types.rs:350:11
|
LL | match slice_never {
| ^^^^^^^^^^^ patterns `&[]` and `&[_, ..]` not covered
@@ -357,7 +357,7 @@ LL + &[] | &[_, ..] => todo!()
|
error[E0004]: non-exhaustive patterns: type `[!]` is non-empty
--> $DIR/empty-types.rs:358:11
--> $DIR/empty-types.rs:357:11
|
LL | match *slice_never {}
| ^^^^^^^^^^^^
@@ -371,7 +371,7 @@ LL ~ }
|
error[E0004]: non-exhaustive patterns: type `[!; 0]` is non-empty
--> $DIR/empty-types.rs:387:11
--> $DIR/empty-types.rs:386:11
|
LL | match array_0_never {}
| ^^^^^^^^^^^^^
@@ -385,7 +385,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:394:9
--> $DIR/empty-types.rs:393:9
|
LL | [] => {}
| -- matches all the relevant values
@@ -393,7 +393,7 @@ LL | _ => {}
| ^ no value can reach this
error[E0004]: non-exhaustive patterns: `[]` not covered
--> $DIR/empty-types.rs:396:11
--> $DIR/empty-types.rs:395:11
|
LL | match array_0_never {
| ^^^^^^^^^^^^^ pattern `[]` not covered
@@ -407,7 +407,7 @@ LL + [] => todo!()
|
error[E0004]: non-exhaustive patterns: `&Some(_)` not covered
--> $DIR/empty-types.rs:450:11
--> $DIR/empty-types.rs:449:11
|
LL | match ref_opt_never {
| ^^^^^^^^^^^^^ pattern `&Some(_)` not covered
@@ -426,7 +426,7 @@ LL + &Some(_) => todo!()
|
error[E0004]: non-exhaustive patterns: `Some(_)` not covered
--> $DIR/empty-types.rs:491:11
--> $DIR/empty-types.rs:490:11
|
LL | match *ref_opt_never {
| ^^^^^^^^^^^^^^ pattern `Some(_)` not covered
@@ -445,7 +445,7 @@ LL + Some(_) => todo!()
|
error[E0004]: non-exhaustive patterns: `Err(_)` not covered
--> $DIR/empty-types.rs:539:11
--> $DIR/empty-types.rs:538:11
|
LL | match *ref_res_never {
| ^^^^^^^^^^^^^^ pattern `Err(_)` not covered
@@ -464,7 +464,7 @@ LL + Err(_) => todo!()
|
error[E0004]: non-exhaustive patterns: `Err(_)` not covered
--> $DIR/empty-types.rs:550:11
--> $DIR/empty-types.rs:549:11
|
LL | match *ref_res_never {
| ^^^^^^^^^^^^^^ pattern `Err(_)` not covered
@@ -483,7 +483,7 @@ LL + Err(_) => todo!()
|
error[E0004]: non-exhaustive patterns: type `(u32, !)` is non-empty
--> $DIR/empty-types.rs:569:11
--> $DIR/empty-types.rs:568:11
|
LL | match *ref_tuple_half_never {}
| ^^^^^^^^^^^^^^^^^^^^^
@@ -497,7 +497,7 @@ LL ~ }
|
error: unreachable pattern
--> $DIR/empty-types.rs:602:9
--> $DIR/empty-types.rs:601:9
|
LL | _ => {}
| ^------
@@ -508,7 +508,7 @@ LL | _ => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:605:9
--> $DIR/empty-types.rs:604:9
|
LL | _x => {}
| ^^------
@@ -519,7 +519,7 @@ LL | _x => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:608:9
--> $DIR/empty-types.rs:607:9
|
LL | _ if false => {}
| ^---------------
@@ -530,7 +530,7 @@ LL | _ if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error: unreachable pattern
--> $DIR/empty-types.rs:611:9
--> $DIR/empty-types.rs:610:9
|
LL | _x if false => {}
| ^^---------------
@@ -541,7 +541,7 @@ LL | _x if false => {}
= note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
error[E0004]: non-exhaustive patterns: `&_` not covered
--> $DIR/empty-types.rs:636:11
--> $DIR/empty-types.rs:635:11
|
LL | match ref_never {
| ^^^^^^^^^ pattern `&_` not covered
@@ -557,7 +557,7 @@ LL + &_ => todo!()
|
error[E0004]: non-exhaustive patterns: `Ok(_)` not covered
--> $DIR/empty-types.rs:652:11
--> $DIR/empty-types.rs:651:11
|
LL | match *ref_result_never {
| ^^^^^^^^^^^^^^^^^ pattern `Ok(_)` not covered
@@ -576,7 +576,7 @@ LL + Ok(_) => todo!()
|
error[E0004]: non-exhaustive patterns: `Some(_)` not covered
--> $DIR/empty-types.rs:672:11
--> $DIR/empty-types.rs:671:11
|
LL | match *x {
| ^^ pattern `Some(_)` not covered
@@ -9,7 +9,6 @@
#![feature(never_type)]
#![cfg_attr(exhaustive_patterns, feature(exhaustive_patterns))]
#![cfg_attr(never_pats, feature(never_patterns))]
//[never_pats]~^ WARN the feature `never_patterns` is incomplete
#![allow(dead_code, unreachable_code)]
#![deny(unreachable_patterns)]
@@ -1,7 +1,6 @@
//@ check-pass
#![feature(pin_ergonomics)]
//~^ WARN the feature `pin_ergonomics` is incomplete
use std::pin::Pin;
@@ -1,11 +0,0 @@
warning: the feature `pin_ergonomics` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/coerce-non-pointer-pin.rs:3:12
|
LL | #![feature(pin_ergonomics)]
| ^^^^^^^^^^^^^^
|
= note: see issue #130494 <https://github.com/rust-lang/rust/issues/130494> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,7 +1,6 @@
// Make sure we consider `!` to be a union read.
#![feature(never_type, never_patterns)]
//~^ WARN the feature `never_patterns` is incomplete
union U {
a: !,
@@ -1,20 +1,11 @@
warning: the feature `never_patterns` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/never-pattern-is-a-read.rs:3:24
|
LL | #![feature(never_type, never_patterns)]
| ^^^^^^^^^^^^^^
|
= note: see issue #118155 <https://github.com/rust-lang/rust/issues/118155> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0133]: access to union field is unsafe and requires unsafe function or block
--> $DIR/never-pattern-is-a-read.rs:12:16
--> $DIR/never-pattern-is-a-read.rs:11:16
|
LL | let U { a: ! } = u;
| ^ access to union field
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
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 E0133`.
@@ -1,6 +1,5 @@
#![feature(transmutability)]
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
use std::mem::{Assume, TransmuteFrom};
@@ -1,26 +1,17 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:2:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:14:23
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:13:23
|
LL | is_transmutable::<{}>();
| ^^ expected `bool`, found `()`
error[E0277]: the trait bound `(): TransmuteFrom<(), { Assume::SAFETY }>` is not satisfied
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:14:23
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:13:23
|
LL | is_transmutable::<{}>();
| ^^ the nightly-only, unstable trait `TransmuteFrom<(), { Assume::SAFETY }>` is not implemented for `()`
|
note: required by a bound in `is_transmutable`
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:9:9
--> $DIR/dont-assume-err-is-yes-issue-126377.rs:8:9
|
LL | pub fn is_transmutable<const ASSUME_ALIGNMENT: bool>()
| --------------- required by a bound in this function
@@ -28,7 +19,7 @@ LL | where
LL | (): TransmuteFrom<(), { Assume::SAFETY }>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `is_transmutable`
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
@@ -1,5 +1,4 @@
#![feature(min_generic_const_args)]
//~^ WARN the feature `min_generic_const_args` is incomplete
#![feature(transmutability)]
@@ -1,35 +1,26 @@
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/non_scalar_alignment_value.rs:1:12
|
LL | #![feature(min_generic_const_args)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
= note: `#[warn(incomplete_features)]` on by default
error: struct expression with missing field initialiser for `alignment`
--> $DIR/non_scalar_alignment_value.rs:15:32
--> $DIR/non_scalar_alignment_value.rs:14:32
|
LL | alignment: Assume {},
| ^^^^^^^^^
error: struct expression with missing field initialiser for `lifetimes`
--> $DIR/non_scalar_alignment_value.rs:15:32
--> $DIR/non_scalar_alignment_value.rs:14:32
|
LL | alignment: Assume {},
| ^^^^^^^^^
error: struct expression with missing field initialiser for `safety`
--> $DIR/non_scalar_alignment_value.rs:15:32
--> $DIR/non_scalar_alignment_value.rs:14:32
|
LL | alignment: Assume {},
| ^^^^^^^^^
error: struct expression with missing field initialiser for `validity`
--> $DIR/non_scalar_alignment_value.rs:15:32
--> $DIR/non_scalar_alignment_value.rs:14:32
|
LL | alignment: Assume {},
| ^^^^^^^^^
error: aborting due to 4 previous errors; 1 warning emitted
error: aborting due to 4 previous errors
@@ -1,7 +1,6 @@
//@ check-pass
#![feature(unsafe_binders)]
//~^ WARN the feature `unsafe_binders` is incomplete
use std::unsafe_binder::wrap_binder;
@@ -1,11 +0,0 @@
warning: the feature `unsafe_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/binder-sized-crit.rs:3:12
|
LL | #![feature(unsafe_binders)]
| ^^^^^^^^^^^^^^
|
= note: see issue #130516 <https://github.com/rust-lang/rust/issues/130516> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted

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