mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
allow incomplete_features in more tests
This commit is contained in:
@@ -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
-10
@@ -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
|
||||
|
||||
+4
-13
@@ -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
|
||||
|
||||
|
||||
+3
-12
@@ -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
-1
@@ -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`.
|
||||
|
||||
-11
@@ -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
|
||||
|
||||
-11
@@ -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
Reference in New Issue
Block a user