allow incomplete_features in more tests

This commit is contained in:
cyrgani
2026-03-23 20:08:24 +00:00
parent eb9d3caf05
commit 7df43d309c
122 changed files with 132 additions and 871 deletions
+1 -4
View File
@@ -1922,10 +1922,7 @@ fn make_compile_args(
// Allow tests to use internal and incomplete features.
compiler.args(&["-A", "internal_features"]);
// FIXME(#154168); temporarily exclude some directories to make the transition easier
if !input_file
.iter()
.any(|p| p == "traits" || p == "specialization" || p == "const-generics")
{
if !input_file.iter().any(|p| p == "specialization") {
compiler.args(&["-A", "incomplete_features"]);
}
@@ -1,6 +1,5 @@
//@ check-pass
#![feature(adt_const_params, lazy_type_alias)]
//~^ WARN: the feature `lazy_type_alias` is incomplete
pub type Matrix = [usize; 1];
const EMPTY_MATRIX: Matrix = [0; 1];
@@ -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/alias_const_param_ty-1.rs:2:30
|
LL | #![feature(adt_const_params, 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
@@ -2,7 +2,6 @@
#![feature(adt_const_params)]
#![feature(unsized_const_params)]
//~^ WARN the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
#[derive(Clone)]
struct S<const L: [u8]>;
@@ -1,22 +1,13 @@
error: free constant item without body
--> $DIR/unsized-anon-const-err-2.rs:10:1
--> $DIR/unsized-anon-const-err-2.rs:9:1
|
LL | const A: [u8];
| ^^^^^^^^^^^^^-
| |
| help: provide a definition for the constant: `= <expr>;`
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/unsized-anon-const-err-2.rs:4:12
|
LL | #![feature(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[E0277]: the size for values of type `[u8]` cannot be known at compilation time
--> $DIR/unsized-anon-const-err-2.rs:10:10
--> $DIR/unsized-anon-const-err-2.rs:9:10
|
LL | const A: [u8];
| ^^^^ doesn't have a size known at compile-time
@@ -25,7 +16,7 @@ LL | const A: [u8];
= note: statics and constants must have a statically known size
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
--> $DIR/unsized-anon-const-err-2.rs:14:31
--> $DIR/unsized-anon-const-err-2.rs:13:31
|
LL | impl<const N: i32> Copy for S<A> {}
| ^ doesn't have a size known at compile-time
@@ -34,7 +25,7 @@ LL | impl<const N: i32> Copy for S<A> {}
= note: statics and constants must have a statically known size
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
--> $DIR/unsized-anon-const-err-2.rs:17:33
--> $DIR/unsized-anon-const-err-2.rs:16:33
|
LL | impl<const M: usize> Copy for S<A> {}
| ^ doesn't have a size known at compile-time
@@ -43,7 +34,7 @@ LL | impl<const M: usize> Copy for S<A> {}
= note: statics and constants must have a statically known size
error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates
--> $DIR/unsized-anon-const-err-2.rs:14:6
--> $DIR/unsized-anon-const-err-2.rs:13:6
|
LL | impl<const N: i32> Copy for S<A> {}
| ^^^^^^^^^^^^ unconstrained const parameter
@@ -52,7 +43,7 @@ LL | impl<const N: i32> Copy for S<A> {}
= note: proving the result of expressions other than the parameter are unique is not supported
error[E0207]: the const parameter `M` is not constrained by the impl trait, self type, or predicates
--> $DIR/unsized-anon-const-err-2.rs:17:6
--> $DIR/unsized-anon-const-err-2.rs:16:6
|
LL | impl<const M: usize> Copy for S<A> {}
| ^^^^^^^^^^^^^^ unconstrained const parameter
@@ -60,7 +51,7 @@ LL | impl<const M: usize> Copy for S<A> {}
= note: expressions using a const parameter must map each value to a distinct output value
= note: proving the result of expressions other than the parameter are unique is not supported
error: aborting due to 6 previous errors; 1 warning emitted
error: aborting due to 6 previous errors
Some errors have detailed explanations: E0207, E0277.
For more information about an error, try `rustc --explain E0207`.
@@ -1,6 +1,4 @@
#![feature(generic_const_parameter_types, unsized_const_params, adt_const_params)]
//~^ WARN the feature `generic_const_parameter_types` is incomplete
//~| WARN the feature `unsized_const_params` is incomplete
// Make sure that we test the const param type of default const parameters
// if both the type of the default and the type of the parameter are concrete.
@@ -1,25 +1,8 @@
warning: the feature `generic_const_parameter_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/concrete-const-param-type.rs:1:12
|
LL | #![feature(generic_const_parameter_types, unsized_const_params, adt_const_params)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #137626 <https://github.com/rust-lang/rust/issues/137626> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/concrete-const-param-type.rs:1:43
|
LL | #![feature(generic_const_parameter_types, unsized_const_params, adt_const_params)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
error: the constant `N` is not of type `u64`
--> $DIR/concrete-const-param-type.rs:9:26
--> $DIR/concrete-const-param-type.rs:7:26
|
LL | struct Foo<const N: u32, const M: u64 = N>;
| ^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
error: aborting due to 1 previous error; 2 warnings emitted
error: aborting due to 1 previous error
@@ -1,7 +1,7 @@
// issue: rust-lang/rust#114463
// ICE cannot convert `ReFree ..` to a region vid
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
fn bug<'a>() {
[(); (|_: &'a u8| (), 0).1];
//~^ ERROR cannot capture late-bound lifetime in constant
@@ -1,12 +1,3 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/cannot-convert-refree-ice-114463.rs:3: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/cannot-convert-refree-ice-114463.rs:6:16
|
@@ -15,5 +6,5 @@ LL | fn bug<'a>() {
LL | [(); (|_: &'a u8| (), 0).1];
| ^^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -1,5 +1,4 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
fn foo<T>() {
let _ = [0u8; { const { std::mem::size_of::<T>() } }];
@@ -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/const-block-is-poly.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: overly complex generic constant
--> $DIR/const-block-is-poly.rs:5:19
--> $DIR/const-block-is-poly.rs:4:19
|
LL | let _ = [0u8; { const { std::mem::size_of::<T>() } }];
| ^^----------------------------------^^
@@ -18,5 +9,5 @@ LL | let _ = [0u8; { const { std::mem::size_of::<T>() } }];
= help: consider moving this anonymous constant into a `const` function
= note: this operation may be supported in the future
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -1,7 +1,6 @@
//@ check-pass
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete and may not be safe to use
pub fn y<'a, U: 'a>() -> impl IntoIterator<Item = impl IntoIterator<Item = [u8; { 1 + 2 }]> + 'a> {
[[[1, 2, 3]]]
@@ -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/double-opaque-parent-predicates.rs:3: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,7 +1,6 @@
//@ build-pass
#![feature(generic_const_exprs)]
//~^ WARNING the feature `generic_const_exprs` is incomplete
trait Generic {
const ASSOC: usize;
@@ -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/eval-try-unify.rs:3: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,8 +1,6 @@
//@ check-pass
#![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
//~^ WARN the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
//~^^ WARN the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
pub struct Changes<const CHANGES: &'static [&'static str]>
where
@@ -1,19 +0,0 @@
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-97047-ice-1.rs:3:30
|
LL | #![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-97047-ice-1.rs:3:52
|
LL | #![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
warning: 2 warnings emitted
@@ -1,8 +1,6 @@
//@ check-pass
#![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
//~^ WARN the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
//~^^ WARN the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
pub struct Changes<const CHANGES: &'static [&'static str]>
where
@@ -1,19 +0,0 @@
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-97047-ice-2.rs:3:30
|
LL | #![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-97047-ice-2.rs:3:52
|
LL | #![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
warning: 2 warnings emitted
@@ -1,5 +1,4 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
trait B {
type U<T>;
@@ -1,18 +1,9 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/mismatched-gat-subst-kind.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[E0747]: constant provided when a type was expected
--> $DIR/mismatched-gat-subst-kind.rs:8:13
--> $DIR/mismatched-gat-subst-kind.rs:7:13
|
LL | fn f<T: B<U<1i32> = ()>>() {}
| ^^^^
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 E0747`.
@@ -1,6 +1,5 @@
// Regression test for #133271.
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
struct Foo;
impl<'a, const NUM: usize> std::ops::Add<&'a Foo> for Foo
@@ -1,5 +1,5 @@
error[E0407]: method `unimplemented` is not a member of trait `std::ops::Add`
--> $DIR/post-analysis-user-facing-param-env.rs:12:5
--> $DIR/post-analysis-user-facing-param-env.rs:11:5
|
LL | / fn unimplemented(self, _: &Foo) -> Self::Output {
LL | |
@@ -7,17 +7,8 @@ LL | | loop {}
LL | | }
| |_____^ not a member of trait `std::ops::Add`
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/post-analysis-user-facing-param-env.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[E0046]: not all trait items implemented, missing: `Output`, `add`
--> $DIR/post-analysis-user-facing-param-env.rs:6:1
--> $DIR/post-analysis-user-facing-param-env.rs:5:1
|
LL | / impl<'a, const NUM: usize> std::ops::Add<&'a Foo> for Foo
LL | |
@@ -30,7 +21,7 @@ LL | | [(); 1 + 0]: Sized,
= help: implement the missing item: `fn add(self, _: &'a Foo) -> <Self as Add<&'a Foo>>::Output { todo!() }`
error[E0207]: the const parameter `NUM` is not constrained by the impl trait, self type, or predicates
--> $DIR/post-analysis-user-facing-param-env.rs:6:10
--> $DIR/post-analysis-user-facing-param-env.rs:5:10
|
LL | impl<'a, const NUM: usize> std::ops::Add<&'a Foo> for Foo
| ^^^^^^^^^^^^^^^^ unconstrained const parameter
@@ -38,7 +29,7 @@ LL | impl<'a, const NUM: usize> std::ops::Add<&'a Foo> for Foo
= note: expressions using a const parameter must map each value to a distinct output value
= note: proving the result of expressions other than the parameter are unique is not supported
error: aborting due to 3 previous errors; 1 warning emitted
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0046, E0207, E0407.
For more information about an error, try `rustc --explain E0046`.
@@ -5,7 +5,6 @@
#![feature(with_negative_coherence)]
#![feature(min_specialization)]
#![feature(generic_const_exprs)]
//~^ WARNING the feature `generic_const_exprs` is incomplete
#![crate_type = "lib"]
trait Trait {}
@@ -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/specialization-fuzzing-ice-133639.rs:7: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,8 +1,6 @@
// Ensure that we actually treat `N`'s type as `&'a u32` in MIR typeck.
#![feature(unsized_const_params, adt_const_params, generic_const_parameter_types)]
//~^ WARN the feature `unsized_const_params` is incomplete
//~| WARN the feature `generic_const_parameter_types` is incomplete
fn foo<'a, const N: &'a u32>() {
let b: &'static u32 = N;
@@ -1,27 +1,10 @@
warning: the feature `unsized_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/check-type-in-mir.rs:3:12
|
LL | #![feature(unsized_const_params, adt_const_params, generic_const_parameter_types)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `generic_const_parameter_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/check-type-in-mir.rs:3:52
|
LL | #![feature(unsized_const_params, adt_const_params, generic_const_parameter_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #137626 <https://github.com/rust-lang/rust/issues/137626> for more information
error: lifetime may not live long enough
--> $DIR/check-type-in-mir.rs:8:12
--> $DIR/check-type-in-mir.rs:6:12
|
LL | fn foo<'a, const N: &'a u32>() {
| -- lifetime `'a` defined here
LL | let b: &'static u32 = N;
| ^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`
error: aborting due to 1 previous error; 2 warnings emitted
error: aborting due to 1 previous error
@@ -1,14 +1,5 @@
warning: the feature `generic_const_parameter_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/references-parent-generics.rs:3:27
|
LL | #![cfg_attr(feat, feature(generic_const_parameter_types))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #137626 <https://github.com/rust-lang/rust/issues/137626> for more information
= note: `#[warn(incomplete_features)]` on by default
error: `Self` is forbidden as the type of a const generic parameter
--> $DIR/references-parent-generics.rs:7:25
--> $DIR/references-parent-generics.rs:6:25
|
LL | type Assoc<const N: Self>;
| ^^^^
@@ -16,10 +7,10 @@ LL | type Assoc<const N: Self>;
= note: the only supported types are integers, `bool`, and `char`
error: anonymous constants referencing generics are not yet supported
--> $DIR/references-parent-generics.rs:15:21
--> $DIR/references-parent-generics.rs:14:21
|
LL | let x: T::Assoc<3>;
| ^
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
@@ -1,5 +1,5 @@
error[E0770]: the type of const parameters must not depend on other generic parameters
--> $DIR/references-parent-generics.rs:7:25
--> $DIR/references-parent-generics.rs:6:25
|
LL | type Assoc<const N: Self>;
| ^^^^ the type must not depend on the parameter `Self`
@@ -1,7 +1,6 @@
//@ revisions: feat nofeat
#![cfg_attr(feat, feature(generic_const_parameter_types))]
//[feat]~^ WARN the feature `generic_const_parameter_types` is incomplete
trait Foo {
type Assoc<const N: Self>;
@@ -6,7 +6,6 @@
// It should now produce a proper type error.
#![feature(min_generic_const_args)]
//~^ WARN the feature `min_generic_const_args` is incomplete
struct S;
@@ -1,19 +1,10 @@
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/struct-ctor-in-array-len.rs:8: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: the constant `S` is not of type `usize`
--> $DIR/struct-ctor-in-array-len.rs:14:14
--> $DIR/struct-ctor-in-array-len.rs:13:14
|
LL | let _b = [0; S];
| ^^^^^^ expected `usize`, found `S`
|
= note: the length of array `[{integer}; S]` must be type `usize`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -1,7 +1,6 @@
// Make sure we don't ICE when encountering an fn item during lowering in mGCA.
#![feature(min_generic_const_args)]
//~^ WARN the feature `min_generic_const_args` is incomplete
trait A<T> {}
@@ -1,19 +1,10 @@
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/unexpected-fn-item-in-array.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
error: the constant `fn_item` is not of type `usize`
--> $DIR/unexpected-fn-item-in-array.rs:8:6
--> $DIR/unexpected-fn-item-in-array.rs:7:6
|
LL | impl A<[usize; fn_item]> for () {}
| ^^^^^^^^^^^^^^^^^^^ expected `usize`, found fn item
|
= note: the length of array `[usize; fn_item]` must be type `usize`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -4,8 +4,7 @@
//@ compile-flags: -Zunstable-options
//@ check-pass
#![feature(generic_const_exprs)] //~ WARN the feature `generic_const_exprs` is incomplete
#![feature(generic_const_exprs)]
fn bind<const N: usize>(value: [u8; N + 2]) -> [u8; N * 2] {
todo!()
@@ -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/unify-fixpoint.rs:7: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,5 +1,4 @@
#![feature(generic_const_exprs)]
//~^ WARN: the feature `generic_const_exprs` is incomplete
// Regression test for #125770 which would ICE under the old effects desugaring that
// created a const generic parameter for constness on `Add`.
@@ -1,5 +1,5 @@
error[E0425]: cannot find value `y` in this scope
--> $DIR/mismatched_generic_args.rs:20:9
--> $DIR/mismatched_generic_args.rs:19:9
|
LL | pub fn add<const U: Dimension>(x: Quantity<f32, U>) -> Quantity<f32, U> {
| - similarly named const parameter `U` defined here
@@ -13,17 +13,8 @@ LL - x + y
LL + x + U
|
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/mismatched_generic_args.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: `Dimension` is forbidden as the type of a const generic parameter
--> $DIR/mismatched_generic_args.rs:11:33
--> $DIR/mismatched_generic_args.rs:10:33
|
LL | pub struct Quantity<S, const D: Dimension>(S);
| ^^^^^^^^^
@@ -35,13 +26,13 @@ LL + #![feature(adt_const_params)]
|
error[E0107]: trait takes at most 1 generic argument but 2 generic arguments were supplied
--> $DIR/mismatched_generic_args.rs:14:36
--> $DIR/mismatched_generic_args.rs:13:36
|
LL | impl<const D: Dimension, LHS, RHS> Add<LHS, D> for Quantity<LHS, { Dimension }> {}
| ^^^ expected at most 1 generic argument
error: `Dimension` is forbidden as the type of a const generic parameter
--> $DIR/mismatched_generic_args.rs:14:15
--> $DIR/mismatched_generic_args.rs:13:15
|
LL | impl<const D: Dimension, LHS, RHS> Add<LHS, D> for Quantity<LHS, { Dimension }> {}
| ^^^^^^^^^
@@ -53,7 +44,7 @@ LL + #![feature(adt_const_params)]
|
error: `Dimension` is forbidden as the type of a const generic parameter
--> $DIR/mismatched_generic_args.rs:18:21
--> $DIR/mismatched_generic_args.rs:17:21
|
LL | pub fn add<const U: Dimension>(x: Quantity<f32, U>) -> Quantity<f32, U> {
| ^^^^^^^^^
@@ -64,7 +55,7 @@ help: add `#![feature(adt_const_params)]` to the crate attributes to enable more
LL + #![feature(adt_const_params)]
|
error: aborting due to 5 previous errors; 1 warning emitted
error: aborting due to 5 previous errors
Some errors have detailed explanations: E0107, E0425.
For more information about an error, try `rustc --explain E0107`.
@@ -1,5 +1,5 @@
error[E0119]: conflicting implementations of trait `Foo` for type `(_,)`
--> $DIR/overlap-const-with-nonconst.rs:21:1
--> $DIR/overlap-const-with-nonconst.rs:20:1
|
LL | / impl<T> const Foo for T
LL | | where
@@ -2,7 +2,6 @@
#![feature(const_trait_impl)]
#![cfg_attr(spec, feature(specialization))]
//[spec]~^ WARN the feature `specialization` is incomplete
#![cfg_attr(min_spec, feature(min_specialization))]
const trait Bar {}
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/overlap-const-with-nonconst.rs:4:27
|
LL | #![cfg_attr(spec, feature(specialization))]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0119]: conflicting implementations of trait `Foo` for type `(_,)`
--> $DIR/overlap-const-with-nonconst.rs:21:1
--> $DIR/overlap-const-with-nonconst.rs:20:1
|
LL | / impl<T> const Foo for T
LL | | where
@@ -19,6 +9,6 @@ LL | | T: [const] Bar,
LL | impl<T> Foo for (T,) {
| ^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(_,)`
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0119`.
@@ -1,6 +1,5 @@
#![feature(negative_impls)]
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait MyTrait {
type Foo;
@@ -1,19 +1,9 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/negative-default-impls.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0750]: negative impls cannot be default impls
--> $DIR/negative-default-impls.rs:9:1
--> $DIR/negative-default-impls.rs:8:1
|
LL | default impl !MyTrait for u32 {}
| ^^^^^^^ ^
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 E0750`.
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
#![feature(negative_impls)]
// Test a negative impl that "specializes" another negative impl.
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/negative-specializes-negative.rs:1:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
#![feature(negative_impls)]
// Negative impl for u32 cannot "specialize" the base impl.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/negative-specializes-positive-item.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[E0751]: found both positive and negative implementation of trait `MyTrait` for type `u32`:
--> $DIR/negative-specializes-positive-item.rs:11:1
|
@@ -17,6 +7,6 @@ LL | impl<T> MyTrait for T {
LL | impl !MyTrait for u32 {}
| ^^^^^^^^^^^^^^^^^^^^^ negative implementation here
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0751`.
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
#![feature(negative_impls)]
// Negative impl for u32 cannot "specialize" the base impl.
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/negative-specializes-positive.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[E0751]: found both positive and negative implementation of trait `MyTrait` for type `u32`:
--> $DIR/negative-specializes-positive.rs:7:1
|
@@ -16,6 +6,6 @@ LL | impl<T> MyTrait for T {}
LL | impl !MyTrait for u32 {}
| ^^^^^^^^^^^^^^^^^^^^^ negative implementation here
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0751`.
@@ -1,4 +1,4 @@
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
#![feature(specialization)]
#![feature(negative_impls)]
trait MyTrait {}
@@ -1,13 +1,3 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/positive-specializes-negative.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[E0751]: found both positive and negative implementation of trait `MyTrait` for type `u32`:
--> $DIR/positive-specializes-negative.rs:7:1
|
@@ -16,6 +6,6 @@ LL | impl<T> !MyTrait for T {}
LL | impl MyTrait for u32 {}
| ^^^^^^^^^^^^^^^^^^^^ positive implementation here
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0751`.
@@ -10,7 +10,6 @@
// which is provided by the first impl that it is specializing.
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
#![feature(with_negative_coherence)]
trait BoxIter {
@@ -1,12 +0,0 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/negative-coherence-bounds.rs:12:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
warning: 1 warning emitted
@@ -3,7 +3,6 @@
// This is a gnarly test but I don't know how to minimize it, frankly.
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete
trait ToUnit<'a> {
type Unit;
@@ -1,32 +1,23 @@
error[E0425]: cannot find type `Missing` in this scope
--> $DIR/issue-118950-root-region.rs:19:55
--> $DIR/issue-118950-root-region.rs:18:55
|
LL | impl<T> Overlap<for<'a> fn(Assoc<'a, T>)> for T where Missing: Overlap<T> {}
| ^^^^^^^ not found in this scope
warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-118950-root-region.rs:5: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 `*const T: ToUnit<'a>` is not satisfied
--> $DIR/issue-118950-root-region.rs:14:1
--> $DIR/issue-118950-root-region.rs:13:1
|
LL | type Assoc<'a, T> = <*const T as ToUnit<'a>>::Unit;
| ^^^^^^^^^^^^^^^^^ the trait `ToUnit<'a>` is not implemented for `*const T`
|
help: this trait has no implementations, consider adding one
--> $DIR/issue-118950-root-region.rs:8:1
--> $DIR/issue-118950-root-region.rs:7:1
|
LL | trait ToUnit<'a> {
| ^^^^^^^^^^^^^^^^
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a)), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc), .. }
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0277, E0425.
For more information about an error, try `rustc --explain E0277`.
@@ -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/normalize-self-type-constrains-trait-args.rs:8: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/normalize-self-type-constrains-trait-args.rs:8: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
@@ -6,7 +6,6 @@
// This goal is also possible w/ a GAT, but lazy_type_alias
// makes the behavior a bit more readable.
#![feature(lazy_type_alias)]
//~^ WARN the feature `lazy_type_alias` is incomplete
struct Wr<T>(T);
trait Foo {}
@@ -1,6 +1,5 @@
//@ compile-flags: -Znext-solver
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
trait Default {
type Id;
@@ -1,15 +1,5 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-transmute.rs:2:12
|
LL | #![feature(specialization)]
| ^^^^^^^^^^^^^^
|
= note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
= help: consider using `min_specialization` instead, which is more stable and complete
= note: `#[warn(incomplete_features)]` on by default
error[E0308]: mismatched types
--> $DIR/specialization-transmute.rs:14:9
--> $DIR/specialization-transmute.rs:13:9
|
LL | fn intu(&self) -> &Self::Id {
| --------- expected `&<T as Default>::Id` because of return type
@@ -20,7 +10,7 @@ LL | self
found reference `&T`
error[E0271]: type mismatch resolving `<u8 as Default>::Id == Option<NonZero<u8>>`
--> $DIR/specialization-transmute.rs:25:50
--> $DIR/specialization-transmute.rs:24:50
|
LL | let s = transmute::<u8, Option<NonZero<u8>>>(0);
| ------------------------------------ ^ types differ
@@ -28,12 +18,12 @@ LL | let s = transmute::<u8, Option<NonZero<u8>>>(0);
| required by a bound introduced by this call
|
note: required by a bound in `transmute`
--> $DIR/specialization-transmute.rs:18:25
--> $DIR/specialization-transmute.rs:17:25
|
LL | fn transmute<T: Default<Id = U>, U: Copy>(t: T) -> U {
| ^^^^^^ required by this bound in `transmute`
error: aborting due to 2 previous errors; 1 warning emitted
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0271, E0308.
For more information about an error, try `rustc --explain E0271`.
@@ -1,7 +1,6 @@
//@ compile-flags: -Znext-solver
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
// Do not treat the RHS of a projection-goal as an unconstrained `Certainty::Yes` response
// if the impl is still further specializable.
@@ -1,25 +1,15 @@
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/specialization-unconstrained.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[E0271]: type mismatch resolving `<u32 as Default>::Id == ()`
--> $DIR/specialization-unconstrained.rs:20:12
--> $DIR/specialization-unconstrained.rs:19:12
|
LL | test::<u32, ()>();
| ^^^ types differ
|
note: required by a bound in `test`
--> $DIR/specialization-unconstrained.rs:17:20
--> $DIR/specialization-unconstrained.rs:16:20
|
LL | fn test<T: Default<Id = U>, U>() {}
| ^^^^^^ required by this bound in `test`
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 E0271`.
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/non-lifetime-via-dyn-builtin.rs:6:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/non-lifetime-via-dyn-builtin.rs:6:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -4,7 +4,6 @@
//@ check-pass
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete and may not be safe
fn trivial<A>()
where
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
fn foo() where for<T> T: Copy {}
@@ -1,24 +1,15 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/bad-copy-cond.rs:1:12
|
LL | #![feature(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[E0277]: the trait bound `T: Copy` is not satisfied
--> $DIR/bad-copy-cond.rs:7:5
--> $DIR/bad-copy-cond.rs:6:5
|
LL | foo();
| ^^^^^ the trait `Copy` is not implemented for `T`
|
note: required by a bound in `foo`
--> $DIR/bad-copy-cond.rs:4:26
--> $DIR/bad-copy-cond.rs:3:26
|
LL | fn foo() where for<T> T: Copy {}
| ^^^^ required by this bound in `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,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN is incomplete and may not be safe
pub fn foo()
where
@@ -1,21 +1,12 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/bad-sized-cond.rs:1:12
|
LL | #![feature(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[E0277]: the size for values of type `V` cannot be known at compilation time
--> $DIR/bad-sized-cond.rs:17:5
--> $DIR/bad-sized-cond.rs:16:5
|
LL | foo();
| ^^^^^ doesn't have a size known at compile-time
|
= help: the trait `Sized` is not implemented for `V`
note: required by a bound in `foo`
--> $DIR/bad-sized-cond.rs:6:15
--> $DIR/bad-sized-cond.rs:5:15
|
LL | pub fn foo()
| --- required by a bound in this function
@@ -24,7 +15,7 @@ LL | for<V> V: Sized,
| ^^^^^ required by this bound in `foo`
error[E0277]: `V` is not an iterator
--> $DIR/bad-sized-cond.rs:20:5
--> $DIR/bad-sized-cond.rs:19:5
|
LL | bar();
| ^^^^^ `V` is not an iterator
@@ -32,7 +23,7 @@ LL | bar();
= help: the trait `Iterator` is not implemented for `V`
= note: required for `V` to implement `IntoIterator`
note: required by a bound in `bar`
--> $DIR/bad-sized-cond.rs:12:15
--> $DIR/bad-sized-cond.rs:11:15
|
LL | pub fn bar()
| --- required by a bound in this function
@@ -41,7 +32,7 @@ LL | for<V> V: IntoIterator,
| ^^^^^^^^^^^^ required by this bound in `bar`
error[E0277]: the size for values of type `V` cannot be known at compilation time
--> $DIR/bad-sized-cond.rs:20:5
--> $DIR/bad-sized-cond.rs:19:5
|
LL | bar();
| ^^^^^ doesn't have a size known at compile-time
@@ -49,7 +40,7 @@ LL | bar();
= help: the trait `Sized` is not implemented for `V`
= note: required for `V` to implement `IntoIterator`
note: required by a bound in `bar`
--> $DIR/bad-sized-cond.rs:12:15
--> $DIR/bad-sized-cond.rs:11:15
|
LL | pub fn bar()
| --- required by a bound in this function
@@ -57,6 +48,6 @@ LL | where
LL | for<V> V: IntoIterator,
| ^^^^^^^^^^^^ required by this bound in `bar`
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`.
@@ -1,7 +1,5 @@
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
// Test for <https://github.com/rust-lang/rust/issues/115497>,
// which originally relied on associated_type_bounds, but was
@@ -1,40 +1,23 @@
error: late-bound const parameters cannot be used currently
--> $DIR/bad-suggestion-on-missing-assoc.rs:20:15
--> $DIR/bad-suggestion-on-missing-assoc.rs:18:15
|
LL | for<const N: u8 = { T::A }> T: TraitA<AsA = impl TraitB<AsB = impl TraitC>>,
| ^
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/bad-suggestion-on-missing-assoc.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 `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/bad-suggestion-on-missing-assoc.rs:3:12
|
LL | #![feature(non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
error: defaults for generic parameters are not allowed in `for<...>` binders
--> $DIR/bad-suggestion-on-missing-assoc.rs:20:9
--> $DIR/bad-suggestion-on-missing-assoc.rs:18:9
|
LL | for<const N: u8 = { T::A }> T: TraitA<AsA = impl TraitB<AsB = impl TraitC>>,
| ^^^^^^^^^^^^^^^^^^^^^^
error[E0562]: `impl Trait` is not allowed in bounds
--> $DIR/bad-suggestion-on-missing-assoc.rs:20:49
--> $DIR/bad-suggestion-on-missing-assoc.rs:18:49
|
LL | for<const N: u8 = { T::A }> T: TraitA<AsA = impl TraitB<AsB = impl TraitC>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `impl Trait` is only allowed in arguments and return types of functions and methods
error: aborting due to 3 previous errors; 2 warnings emitted
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0562`.
@@ -3,7 +3,6 @@
#![feature(sized_hierarchy)]
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
use std::marker::PointeeSized;
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/basic.rs:5:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
pub fn bar()
where
@@ -1,5 +1,5 @@
error[E0425]: cannot find type `V` in this scope
--> $DIR/binder-defaults-112547.rs:10:4
--> $DIR/binder-defaults-112547.rs:9:4
|
LL | }> V: IntoIterator
| ^ not found in this scope
@@ -10,22 +10,13 @@ LL | pub fn bar<V>()
| +++
error: late-bound const parameters cannot be used currently
--> $DIR/binder-defaults-112547.rs:6:15
--> $DIR/binder-defaults-112547.rs:5:15
|
LL | for<const N: usize = {
| ^
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/binder-defaults-112547.rs:1:12
|
LL | #![feature(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: defaults for generic parameters are not allowed in `for<...>` binders
--> $DIR/binder-defaults-112547.rs:6:9
--> $DIR/binder-defaults-112547.rs:5:9
|
LL | for<const N: usize = {
| _________^
@@ -35,6 +26,6 @@ LL | | (||1usize)()
LL | | }> V: IntoIterator
| |_^
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 E0425`.
@@ -1,6 +1,4 @@
#![feature(non_lifetime_binders, generic_const_exprs)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
//~| WARN the feature `generic_const_exprs` is incomplete
fn fun()
where
@@ -1,37 +1,20 @@
error: late-bound const parameters cannot be used currently
--> $DIR/binder-defaults-119489.rs:7:23
--> $DIR/binder-defaults-119489.rs:5:23
|
LL | for<T = (), const N: usize = 1> ():,
| ^
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/binder-defaults-119489.rs:1:12
|
LL | #![feature(non_lifetime_binders, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/binder-defaults-119489.rs:1:34
|
LL | #![feature(non_lifetime_binders, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
error: defaults for generic parameters are not allowed in `for<...>` binders
--> $DIR/binder-defaults-119489.rs:7:9
--> $DIR/binder-defaults-119489.rs:5:9
|
LL | for<T = (), const N: usize = 1> ():,
| ^^^^^^
error: defaults for generic parameters are not allowed in `for<...>` binders
--> $DIR/binder-defaults-119489.rs:7:17
--> $DIR/binder-defaults-119489.rs:5:17
|
LL | for<T = (), const N: usize = 1> ():,
| ^^^^^^^^^^^^^^^^^^
error: aborting due to 3 previous errors; 2 warnings emitted
error: aborting due to 3 previous errors
@@ -3,7 +3,6 @@
#![feature(sized_hierarchy)]
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
use std::marker::PointeeSized;
@@ -1,31 +1,22 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/diagnostic-hir-wf-check.rs:5:12
|
LL | #![feature(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[E0277]: the trait bound `(): B` is not satisfied
--> $DIR/diagnostic-hir-wf-check.rs:16:12
--> $DIR/diagnostic-hir-wf-check.rs:15:12
|
LL | fn b() -> (W<()>, impl for<C> A<C>) { (W(()), ()) }
| ^^^^^ the trait `B` is not implemented for `()`
|
help: this trait has no implementations, consider adding one
--> $DIR/diagnostic-hir-wf-check.rs:13:1
--> $DIR/diagnostic-hir-wf-check.rs:12:1
|
LL | trait B {}
| ^^^^^^^
note: required by a bound in `W`
--> $DIR/diagnostic-hir-wf-check.rs:14:13
--> $DIR/diagnostic-hir-wf-check.rs:13:13
|
LL | struct W<T: B>(T);
| ^ required by this bound in `W`
error[E0277]: the trait bound `(): B` is not satisfied
--> $DIR/diagnostic-hir-wf-check.rs:16:42
--> $DIR/diagnostic-hir-wf-check.rs:15:42
|
LL | fn b() -> (W<()>, impl for<C> A<C>) { (W(()), ()) }
| - ^^ the trait `B` is not implemented for `()`
@@ -33,33 +24,33 @@ LL | fn b() -> (W<()>, impl for<C> A<C>) { (W(()), ()) }
| required by a bound introduced by this call
|
help: this trait has no implementations, consider adding one
--> $DIR/diagnostic-hir-wf-check.rs:13:1
--> $DIR/diagnostic-hir-wf-check.rs:12:1
|
LL | trait B {}
| ^^^^^^^
note: required by a bound in `W`
--> $DIR/diagnostic-hir-wf-check.rs:14:13
--> $DIR/diagnostic-hir-wf-check.rs:13:13
|
LL | struct W<T: B>(T);
| ^ required by this bound in `W`
error[E0277]: the trait bound `(): B` is not satisfied
--> $DIR/diagnostic-hir-wf-check.rs:16:40
--> $DIR/diagnostic-hir-wf-check.rs:15:40
|
LL | fn b() -> (W<()>, impl for<C> A<C>) { (W(()), ()) }
| ^^^^^ the trait `B` is not implemented for `()`
|
help: this trait has no implementations, consider adding one
--> $DIR/diagnostic-hir-wf-check.rs:13:1
--> $DIR/diagnostic-hir-wf-check.rs:12:1
|
LL | trait B {}
| ^^^^^^^
note: required by a bound in `W`
--> $DIR/diagnostic-hir-wf-check.rs:14:13
--> $DIR/diagnostic-hir-wf-check.rs:13:13
|
LL | struct W<T: B>(T);
| ^ required by this bound in `W`
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`.
@@ -1,24 +1,15 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/drop-impl-pred.rs:6:12
|
LL | #![feature(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[E0367]: `Drop` impl requires `H: Foo` but the struct it is implemented for does not
--> $DIR/drop-impl-pred.rs:19:15
--> $DIR/drop-impl-pred.rs:18:15
|
LL | for<H> H: Foo,
| ^^^
|
note: the implementor must specify the same requirement
--> $DIR/drop-impl-pred.rs:12:1
--> $DIR/drop-impl-pred.rs:11:1
|
LL | struct Bar<T>(T) where T: 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 E0367`.
@@ -4,7 +4,6 @@
// Issue 110557
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
pub trait Foo {}
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/drop-impl-pred.rs:6:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -1,7 +1,6 @@
// Error reporting for where `for<T> T: Trait` doesn't hold
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
trait Trait {}
@@ -1,25 +1,16 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/fail.rs:3:12
|
LL | #![feature(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[E0277]: the trait bound `T: Trait` is not satisfied
--> $DIR/fail.rs:19:5
--> $DIR/fail.rs:18:5
|
LL | fail();
| ^^^^^^ the trait `Trait` is not implemented for `T`
|
help: this trait has no implementations, consider adding one
--> $DIR/fail.rs:6:1
--> $DIR/fail.rs:5:1
|
LL | trait Trait {}
| ^^^^^^^^^^^
note: required by a bound in `fail`
--> $DIR/fail.rs:10:15
--> $DIR/fail.rs:9:15
|
LL | fn fail()
| ---- required by a bound in this function
@@ -28,14 +19,14 @@ LL | for<T> T: Trait,
| ^^^^^ required by this bound in `fail`
error[E0277]: `T` cannot be sent between threads safely
--> $DIR/fail.rs:21:5
--> $DIR/fail.rs:20:5
|
LL | auto_trait();
| ^^^^^^^^^^^^ `T` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `T`
note: required by a bound in `auto_trait`
--> $DIR/fail.rs:15:15
--> $DIR/fail.rs:14:15
|
LL | fn auto_trait()
| ---------- required by a bound in this function
@@ -43,6 +34,6 @@ LL | where
LL | for<T> T: Send,
| ^^^^ required by this bound in `auto_trait`
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 E0277`.
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
fn auto_trait()
where
@@ -1,21 +1,12 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/foreach-partial-eq.rs:1:12
|
LL | #![feature(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[E0277]: can't compare `T` with `T`
--> $DIR/foreach-partial-eq.rs:10:5
--> $DIR/foreach-partial-eq.rs:9:5
|
LL | auto_trait();
| ^^^^^^^^^^^^ no implementation for `T < T` and `T > T`
|
= help: the trait `PartialOrd` is not implemented for `T`
note: required by a bound in `auto_trait`
--> $DIR/foreach-partial-eq.rs:6:27
--> $DIR/foreach-partial-eq.rs:5:27
|
LL | fn auto_trait()
| ---------- required by a bound in this function
@@ -23,6 +14,6 @@ LL | where
LL | for<T> T: PartialEq + PartialOrd,
| ^^^^^^^^^^ required by this bound in `auto_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 E0277`.
@@ -1,6 +1,4 @@
#![feature(non_lifetime_binders, generic_const_exprs)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
//~| WARN the feature `generic_const_exprs` is incomplete
fn foo() -> usize
where
@@ -1,27 +1,10 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/late-bound-in-anon-ct.rs:1:12
|
LL | #![feature(non_lifetime_binders, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/late-bound-in-anon-ct.rs:1:34
|
LL | #![feature(non_lifetime_binders, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
error: cannot capture late-bound type parameter in constant
--> $DIR/late-bound-in-anon-ct.rs:7:27
--> $DIR/late-bound-in-anon-ct.rs:5:27
|
LL | for<T> [i32; { let _: T = todo!(); 0 }]:,
| - ^
| |
| parameter defined here
error: aborting due to 1 previous error; 2 warnings emitted
error: aborting due to 1 previous error
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
fn b()
where
@@ -1,17 +1,8 @@
error: late-bound const parameters cannot be used currently
--> $DIR/late-const-param-wf.rs:6:15
--> $DIR/late-const-param-wf.rs:5:15
|
LL | for<const C: usize> [(); C]: Copy,
| ^
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/late-const-param-wf.rs:1:12
|
LL | #![feature(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: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -1,7 +1,6 @@
//@ check-pass
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
trait Foo: for<T> Bar<T> {}
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/method-probe.rs:3:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
fn f()
where
@@ -1,14 +1,5 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/missing-assoc-item.rs:1:12
|
LL | #![feature(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[E0223]: ambiguous associated type
--> $DIR/missing-assoc-item.rs:6:12
--> $DIR/missing-assoc-item.rs:5:12
|
LL | for<B> B::Item: Send,
| ^^^^^^^
@@ -19,6 +10,6 @@ LL - for<B> B::Item: Send,
LL + for<B> <B as Example>::Item: Send,
|
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 E0223`.
@@ -1,5 +1,4 @@
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
trait Trait<Input> {
type Assoc;
@@ -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/nested-apit-mentioning-outer-bound-var.rs:1:12
|
LL | #![feature(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: `impl Trait` can only mention type parameters from an fn or impl
--> $DIR/nested-apit-mentioning-outer-bound-var.rs:8:52
--> $DIR/nested-apit-mentioning-outer-bound-var.rs:7:52
|
LL | fn uwu(_: impl for<T> Trait<(), Assoc = impl Trait<T>>) {}
| - type parameter declared here ^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error
@@ -2,6 +2,5 @@
//@ compile-flags: --crate-type=lib
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
pub fn f<T>() where for<U> (T, U): Copy {}
@@ -1,11 +0,0 @@
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/object-lifetime-default-for-late.rs:4:12
|
LL | #![feature(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
warning: 1 warning emitted
@@ -1,7 +1,6 @@
// Tests to make sure that we reject polymorphic dyn trait.
#![feature(non_lifetime_binders)]
//~^ WARN the feature `non_lifetime_binders` is incomplete
trait Test<T> {}
@@ -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/on-dyn.rs:3:12
|
LL | #![feature(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 trait object types
--> $DIR/on-dyn.rs:8:30
--> $DIR/on-dyn.rs:7:30
|
LL | fn foo() -> &'static dyn for<T> Test<T> {
| ^
error: aborting due to 1 previous error; 1 warning emitted
error: aborting due to 1 previous error

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