Address review comments
This commit is contained in:
parent
90708c15c4
commit
182ed8544d
29 changed files with 184 additions and 179 deletions
|
|
@ -1,6 +1,11 @@
|
|||
error[E0391]: cycle detected when normalizing `<() as Tr>::A`
|
||||
|
|
||||
note: ...which requires const-evaluating + checking `Tr::A`...
|
||||
note: ...which requires simplifying constant for the type system `Tr::A`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:6:5
|
||||
|
|
||||
LL | const A: u8 = Self::B;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `Tr::A`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:6:5
|
||||
|
|
||||
LL | const A: u8 = Self::B;
|
||||
|
|
@ -8,15 +13,15 @@ LL | const A: u8 = Self::B;
|
|||
note: ...which requires const-evaluating + checking `Tr::A`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:6:5
|
||||
|
|
||||
LL | const A: u8 = Self::B;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `Tr::A`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:6:5
|
||||
|
|
||||
LL | const A: u8 = Self::B;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `<() as Tr>::B`...
|
||||
note: ...which requires const-evaluating + checking `Tr::B`...
|
||||
note: ...which requires simplifying constant for the type system `Tr::B`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:8:5
|
||||
|
|
||||
LL | const B: u8 = Self::A;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `Tr::B`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:8:5
|
||||
|
|
||||
LL | const B: u8 = Self::A;
|
||||
|
|
@ -24,15 +29,10 @@ LL | const B: u8 = Self::A;
|
|||
note: ...which requires const-evaluating + checking `Tr::B`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:8:5
|
||||
|
|
||||
LL | const B: u8 = Self::A;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `Tr::B`...
|
||||
--> $DIR/defaults-cyclic-fail.rs:8:5
|
||||
|
|
||||
LL | const B: u8 = Self::A;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires normalizing `<() as Tr>::A`, completing the cycle
|
||||
note: cycle used when const-evaluating `main::promoted[2]`
|
||||
note: cycle used when const-evaluating + checking `main::promoted[2]`
|
||||
--> $DIR/defaults-cyclic-fail.rs:14:1
|
||||
|
|
||||
LL | fn main() {
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `IMPL_REF_BAR`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `IMPL_REF_BAR`
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:7:1
|
||||
|
|
||||
LL | const IMPL_REF_BAR: u32 = GlobalImplRef::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `IMPL_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:7:1
|
||||
|
|
||||
LL | const IMPL_REF_BAR: u32 = GlobalImplRef::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `IMPL_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:7:1
|
||||
|
|
||||
LL | const IMPL_REF_BAR: u32 = GlobalImplRef::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `IMPL_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:7:1
|
||||
|
|
||||
LL | const IMPL_REF_BAR: u32 = GlobalImplRef::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
note: ...which requires const-evaluating + checking `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
note: ...which requires simplifying constant for the type system `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = IMPL_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = IMPL_REF_BAR;
|
||||
|
|
@ -25,18 +30,13 @@ note: ...which requires const-evaluating + checking `<impl at $DIR/issue-24949-a
|
|||
|
|
||||
LL | const BAR: u32 = IMPL_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = IMPL_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires optimizing MIR for `<impl at $DIR/issue-24949-assoc-const-static-recursion-impl.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-impl.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = IMPL_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `IMPL_REF_BAR`...
|
||||
= note: ...which again requires const-evaluating + checking `IMPL_REF_BAR`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `IMPL_REF_BAR`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `DEFAULT_REF_BAR`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `DEFAULT_REF_BAR`
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
|
||||
|
|
||||
LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `DEFAULT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
|
||||
|
|
||||
LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `DEFAULT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
|
||||
|
|
||||
LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `DEFAULT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
|
||||
|
|
||||
LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `<GlobalDefaultRef as FooDefault>::BAR`...
|
||||
note: ...which requires const-evaluating + checking `FooDefault::BAR`...
|
||||
note: ...which requires simplifying constant for the type system `FooDefault::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
|
||||
|
|
||||
LL | const BAR: u32 = DEFAULT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `FooDefault::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
|
||||
|
|
||||
LL | const BAR: u32 = DEFAULT_REF_BAR;
|
||||
|
|
@ -25,18 +30,13 @@ note: ...which requires const-evaluating + checking `FooDefault::BAR`...
|
|||
|
|
||||
LL | const BAR: u32 = DEFAULT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `FooDefault::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
|
||||
|
|
||||
LL | const BAR: u32 = DEFAULT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires optimizing MIR for `FooDefault::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
|
||||
|
|
||||
LL | const BAR: u32 = DEFAULT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `DEFAULT_REF_BAR`...
|
||||
= note: ...which again requires const-evaluating + checking `DEFAULT_REF_BAR`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `DEFAULT_REF_BAR`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `TRAIT_REF_BAR`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `TRAIT_REF_BAR`
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:7:1
|
||||
|
|
||||
LL | const TRAIT_REF_BAR: u32 = <GlobalTraitRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `TRAIT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:7:1
|
||||
|
|
||||
LL | const TRAIT_REF_BAR: u32 = <GlobalTraitRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `TRAIT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:7:1
|
||||
|
|
||||
LL | const TRAIT_REF_BAR: u32 = <GlobalTraitRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `TRAIT_REF_BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:7:1
|
||||
|
|
||||
LL | const TRAIT_REF_BAR: u32 = <GlobalTraitRef>::BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `<GlobalTraitRef as Foo>::BAR`...
|
||||
note: ...which requires const-evaluating + checking `<impl at $DIR/issue-24949-assoc-const-static-recursion-trait.rs:11:1: 13:2>::BAR`...
|
||||
note: ...which requires simplifying constant for the type system `<impl at $DIR/issue-24949-assoc-const-static-recursion-trait.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = TRAIT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `<impl at $DIR/issue-24949-assoc-const-static-recursion-trait.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = TRAIT_REF_BAR;
|
||||
|
|
@ -25,18 +30,13 @@ note: ...which requires const-evaluating + checking `<impl at $DIR/issue-24949-a
|
|||
|
|
||||
LL | const BAR: u32 = TRAIT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `<impl at $DIR/issue-24949-assoc-const-static-recursion-trait.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = TRAIT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires optimizing MIR for `<impl at $DIR/issue-24949-assoc-const-static-recursion-trait.rs:11:1: 13:2>::BAR`...
|
||||
--> $DIR/issue-24949-assoc-const-static-recursion-trait.rs:12:5
|
||||
|
|
||||
LL | const BAR: u32 = TRAIT_REF_BAR;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `TRAIT_REF_BAR`...
|
||||
= note: ...which again requires const-evaluating + checking `TRAIT_REF_BAR`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `TRAIT_REF_BAR`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ LL | let x: &'static i32 = &(1 / 0);
|
|||
= note: `#[deny(const_err)]` on by default
|
||||
|
||||
query stack during panic:
|
||||
#0 [eval_to_allocation_raw] const-evaluating `main::promoted[1]`
|
||||
#1 [eval_to_const_value] const-evaluating + checking `main::promoted[1]`
|
||||
#2 [eval_to_const_value] const-evaluating + checking `main::promoted[1]`
|
||||
#0 [eval_to_allocation_raw] const-evaluating + checking `main::promoted[1]`
|
||||
#1 [eval_to_const_value] simplifying constant for the type system `main::promoted[1]`
|
||||
#2 [eval_to_const_value] simplifying constant for the type system `main::promoted[1]`
|
||||
#3 [normalize_generic_arg_after_erasing_regions] normalizing `main::promoted[1]`
|
||||
#4 [optimized_mir] optimizing MIR for `main`
|
||||
#5 [collect_and_partition_mono_items] collect_and_partition_mono_items
|
||||
|
|
|
|||
|
|
@ -1,32 +1,32 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `Foo::bytes::{{constant}}#0`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `Foo::bytes::{{constant}}#0`
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `Foo::bytes::{{constant}}#0`...
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `Foo::bytes::{{constant}}#0`...
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `Foo::bytes::{{constant}}#0`...
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `std::mem::size_of`...
|
||||
note: ...which requires const-evaluating + checking `std::mem::size_of`...
|
||||
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
||||
|
|
||||
LL | pub const fn size_of<T>() -> usize {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `std::intrinsics::size_of`...
|
||||
note: ...which requires simplifying constant for the type system `std::intrinsics::size_of`...
|
||||
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL
|
||||
|
|
||||
LL | pub fn size_of<T>() -> usize;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires computing layout of `Foo`...
|
||||
= note: ...which requires normalizing `[u8; _]`...
|
||||
= note: ...which again requires const-evaluating + checking `Foo::bytes::{{constant}}#0`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `Foo::bytes::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when checking that `Foo` is well-formed
|
||||
--> $DIR/const-size_of-cycle.rs:3:1
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
error[E0391]: cycle detected when const-evaluating `FOO`
|
||||
error[E0391]: cycle detected when const-evaluating + checking `FOO`
|
||||
--> $DIR/recursive-zst-static.rs:10:1
|
||||
|
|
||||
LL | static FOO: () = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating `FOO`...
|
||||
note: ...which requires const-evaluating + checking `FOO`...
|
||||
--> $DIR/recursive-zst-static.rs:10:1
|
||||
|
|
||||
LL | static FOO: () = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires const-evaluating `FOO`, completing the cycle
|
||||
= note: ...which again requires const-evaluating + checking `FOO`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
// can depend on this fact and will thus do unsound things when it is violated.
|
||||
// See https://github.com/rust-lang/rust/issues/71078 for more details.
|
||||
|
||||
static FOO: () = FOO; //~ cycle detected when const-evaluating `FOO`
|
||||
static FOO: () = FOO; //~ cycle detected when const-evaluating + checking `FOO`
|
||||
|
||||
fn main() {
|
||||
FOO
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
error[E0391]: cycle detected when const-evaluating `FOO`
|
||||
error[E0391]: cycle detected when const-evaluating + checking `FOO`
|
||||
--> $DIR/recursive-zst-static.rs:10:1
|
||||
|
|
||||
LL | static FOO: () = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating `FOO`...
|
||||
note: ...which requires const-evaluating + checking `FOO`...
|
||||
--> $DIR/recursive-zst-static.rs:10:1
|
||||
|
|
||||
LL | static FOO: () = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires const-evaluating `FOO`, completing the cycle
|
||||
= note: ...which again requires const-evaluating + checking `FOO`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -1,7 +1,12 @@
|
|||
//https://github.com/rust-lang/rust/issues/31364
|
||||
|
||||
const fn a() -> usize { b() } //~ ERROR cycle detected when const-evaluating `a` [E0391]
|
||||
const fn b() -> usize { a() }
|
||||
const fn a() -> usize {
|
||||
//~^ ERROR cycle detected when const-evaluating + checking `a` [E0391]
|
||||
b()
|
||||
}
|
||||
const fn b() -> usize {
|
||||
a()
|
||||
}
|
||||
const ARR: [i32; a()] = [5; 6];
|
||||
|
||||
fn main(){}
|
||||
fn main() {}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
error[E0391]: cycle detected when const-evaluating `a`
|
||||
error[E0391]: cycle detected when const-evaluating + checking `a`
|
||||
--> $DIR/infinite-recursion-const-fn.rs:3:1
|
||||
|
|
||||
LL | const fn a() -> usize { b() }
|
||||
LL | const fn a() -> usize {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating `b`...
|
||||
--> $DIR/infinite-recursion-const-fn.rs:4:1
|
||||
note: ...which requires const-evaluating + checking `b`...
|
||||
--> $DIR/infinite-recursion-const-fn.rs:7:1
|
||||
|
|
||||
LL | const fn b() -> usize { a() }
|
||||
LL | const fn b() -> usize {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires const-evaluating `a`, completing the cycle
|
||||
note: cycle used when const-evaluating `ARR::{{constant}}#0`
|
||||
--> $DIR/infinite-recursion-const-fn.rs:5:18
|
||||
= note: ...which again requires const-evaluating + checking `a`, completing the cycle
|
||||
note: cycle used when const-evaluating + checking `ARR::{{constant}}#0`
|
||||
--> $DIR/infinite-recursion-const-fn.rs:10:18
|
||||
|
|
||||
LL | const ARR: [i32; a()] = [5; 6];
|
||||
| ^^^
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
error[E0391]: cycle detected when normalizing `FOO`
|
||||
|
|
||||
note: ...which requires const-evaluating + checking `FOO`...
|
||||
note: ...which requires simplifying constant for the type system `FOO`...
|
||||
--> $DIR/issue-17252.rs:1:1
|
||||
|
|
||||
LL | const FOO: usize = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `FOO`...
|
||||
--> $DIR/issue-17252.rs:1:1
|
||||
|
|
||||
LL | const FOO: usize = FOO;
|
||||
|
|
@ -8,15 +13,10 @@ LL | const FOO: usize = FOO;
|
|||
note: ...which requires const-evaluating + checking `FOO`...
|
||||
--> $DIR/issue-17252.rs:1:1
|
||||
|
|
||||
LL | const FOO: usize = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `FOO`...
|
||||
--> $DIR/issue-17252.rs:1:1
|
||||
|
|
||||
LL | const FOO: usize = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires normalizing `FOO`, completing the cycle
|
||||
note: cycle used when const-evaluating `main::{{constant}}#0`
|
||||
note: cycle used when const-evaluating + checking `main::{{constant}}#0`
|
||||
--> $DIR/issue-17252.rs:4:18
|
||||
|
|
||||
LL | let _x: [u8; FOO]; // caused stack overflow prior to fix
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `X::A::{{constant}}#0`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `X::A::{{constant}}#0`
|
||||
--> $DIR/issue-23302-1.rs:4:9
|
||||
|
|
||||
LL | A = X::A as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `X::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-1.rs:4:9
|
||||
|
|
||||
LL | A = X::A as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `X::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-1.rs:4:9
|
||||
|
|
||||
LL | A = X::A as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `X::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-1.rs:4:9
|
||||
|
|
||||
LL | A = X::A as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `X::A as isize`...
|
||||
= note: ...which again requires const-evaluating + checking `X::A::{{constant}}#0`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `X::A::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when collecting item types in top-level module
|
||||
--> $DIR/issue-23302-1.rs:3:1
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `Y::A::{{constant}}#0`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `Y::A::{{constant}}#0`
|
||||
--> $DIR/issue-23302-2.rs:4:9
|
||||
|
|
||||
LL | A = Y::B as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `Y::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-2.rs:4:9
|
||||
|
|
||||
LL | A = Y::B as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `Y::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-2.rs:4:9
|
||||
|
|
||||
LL | A = Y::B as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `Y::A::{{constant}}#0`...
|
||||
--> $DIR/issue-23302-2.rs:4:9
|
||||
|
|
||||
LL | A = Y::B as isize,
|
||||
| ^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `Y::B as isize`...
|
||||
= note: ...which again requires const-evaluating + checking `Y::A::{{constant}}#0`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `Y::A::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when collecting item types in top-level module
|
||||
--> $DIR/issue-23302-2.rs:3:1
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `A`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `A`
|
||||
--> $DIR/issue-23302-3.rs:1:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `A`...
|
||||
--> $DIR/issue-23302-3.rs:1:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `A`...
|
||||
--> $DIR/issue-23302-3.rs:1:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `A`...
|
||||
--> $DIR/issue-23302-3.rs:1:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `B`...
|
||||
note: ...which requires const-evaluating + checking `B`...
|
||||
note: ...which requires simplifying constant for the type system `B`...
|
||||
--> $DIR/issue-23302-3.rs:3:1
|
||||
|
|
||||
LL | const B: i32 = A;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `B`...
|
||||
--> $DIR/issue-23302-3.rs:3:1
|
||||
|
|
||||
LL | const B: i32 = A;
|
||||
|
|
@ -23,15 +28,10 @@ LL | const B: i32 = A;
|
|||
note: ...which requires const-evaluating + checking `B`...
|
||||
--> $DIR/issue-23302-3.rs:3:1
|
||||
|
|
||||
LL | const B: i32 = A;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `B`...
|
||||
--> $DIR/issue-23302-3.rs:3:1
|
||||
|
|
||||
LL | const B: i32 = A;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `A`...
|
||||
= note: ...which again requires const-evaluating + checking `A`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `A`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `Foo::B::{{constant}}#0`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `Foo::B::{{constant}}#0`
|
||||
--> $DIR/issue-36163.rs:4:9
|
||||
|
|
||||
LL | B = A,
|
||||
| ^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `Foo::B::{{constant}}#0`...
|
||||
--> $DIR/issue-36163.rs:4:9
|
||||
|
|
||||
LL | B = A,
|
||||
| ^
|
||||
note: ...which requires const-evaluating + checking `Foo::B::{{constant}}#0`...
|
||||
--> $DIR/issue-36163.rs:4:9
|
||||
|
|
||||
LL | B = A,
|
||||
| ^
|
||||
note: ...which requires const-evaluating `Foo::B::{{constant}}#0`...
|
||||
--> $DIR/issue-36163.rs:4:9
|
||||
|
|
||||
LL | B = A,
|
||||
| ^
|
||||
= note: ...which requires normalizing `A`...
|
||||
note: ...which requires const-evaluating + checking `A`...
|
||||
note: ...which requires simplifying constant for the type system `A`...
|
||||
--> $DIR/issue-36163.rs:1:1
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires simplifying constant for the type system `A`...
|
||||
--> $DIR/issue-36163.rs:1:1
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
|
|
@ -23,15 +28,10 @@ LL | const A: isize = Foo::B as isize;
|
|||
note: ...which requires const-evaluating + checking `A`...
|
||||
--> $DIR/issue-36163.rs:1:1
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `A`...
|
||||
--> $DIR/issue-36163.rs:1:1
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which requires normalizing `A`...
|
||||
= note: ...which again requires const-evaluating + checking `Foo::B::{{constant}}#0`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `Foo::B::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when collecting item types in top-level module
|
||||
--> $DIR/issue-36163.rs:1:1
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
pub static FOO: u32 = FOO;
|
||||
//~^ ERROR cycle detected when const-evaluating `FOO`
|
||||
//~^ ERROR cycle detected when const-evaluating + checking `FOO`
|
||||
|
||||
fn main() {}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
error[E0391]: cycle detected when const-evaluating `FOO`
|
||||
error[E0391]: cycle detected when const-evaluating + checking `FOO`
|
||||
--> $DIR/recursive-static-definition.rs:1:1
|
||||
|
|
||||
LL | pub static FOO: u32 = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating `FOO`...
|
||||
note: ...which requires const-evaluating + checking `FOO`...
|
||||
--> $DIR/recursive-static-definition.rs:1:1
|
||||
|
|
||||
LL | pub static FOO: u32 = FOO;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires const-evaluating `FOO`, completing the cycle
|
||||
= note: ...which again requires const-evaluating + checking `FOO`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#[repr(u8)]
|
||||
enum Alpha {
|
||||
V1 = 41,
|
||||
V2 = Self::V1 as u8 + 1, // OK; See #50072.
|
||||
V3 = Self::V1 {} as u8 + 2, //~ ERROR cycle detected when const-evaluating
|
||||
V2 = Self::V1 as u8 + 1, // OK; See #50072.
|
||||
V3 = Self::V1 {} as u8 + 2, //~ ERROR cycle detected when simplifying constant
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
error[E0391]: cycle detected when const-evaluating + checking `Alpha::V3::{{constant}}#0`
|
||||
error[E0391]: cycle detected when simplifying constant for the type system `Alpha::V3::{{constant}}#0`
|
||||
--> $DIR/self-in-enum-definition.rs:5:10
|
||||
|
|
||||
LL | V3 = Self::V1 {} as u8 + 2,
|
||||
| ^^^^^^^^
|
||||
|
|
||||
note: ...which requires simplifying constant for the type system `Alpha::V3::{{constant}}#0`...
|
||||
--> $DIR/self-in-enum-definition.rs:5:10
|
||||
|
|
||||
LL | V3 = Self::V1 {} as u8 + 2,
|
||||
| ^^^^^^^^
|
||||
note: ...which requires const-evaluating + checking `Alpha::V3::{{constant}}#0`...
|
||||
--> $DIR/self-in-enum-definition.rs:5:10
|
||||
|
|
||||
LL | V3 = Self::V1 {} as u8 + 2,
|
||||
| ^^^^^^^^
|
||||
note: ...which requires const-evaluating `Alpha::V3::{{constant}}#0`...
|
||||
--> $DIR/self-in-enum-definition.rs:5:10
|
||||
|
|
||||
LL | V3 = Self::V1 {} as u8 + 2,
|
||||
| ^^^^^^^^
|
||||
= note: ...which requires computing layout of `Alpha`...
|
||||
= note: ...which again requires const-evaluating + checking `Alpha::V3::{{constant}}#0`, completing the cycle
|
||||
= note: ...which again requires simplifying constant for the type system `Alpha::V3::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when collecting item types in top-level module
|
||||
--> $DIR/self-in-enum-definition.rs:1:1
|
||||
|
|
||||
LL | / #[repr(u8)]
|
||||
LL | | enum Alpha {
|
||||
LL | | V1 = 41,
|
||||
LL | | V2 = Self::V1 as u8 + 1, // OK; See #50072.
|
||||
LL | | V2 = Self::V1 as u8 + 1, // OK; See #50072.
|
||||
... |
|
||||
LL | |
|
||||
LL | | fn main() {}
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@ error[E0080]: could not evaluate static initializer
|
|||
LL | pub static mut B: () = unsafe { A = 1; };
|
||||
| ^^^^^ modifying a static's initial value from another static's initializer
|
||||
|
||||
error[E0391]: cycle detected when const-evaluating `C`
|
||||
error[E0391]: cycle detected when const-evaluating + checking `C`
|
||||
--> $DIR/write-to-static-mut-in-static.rs:5:1
|
||||
|
|
||||
LL | pub static mut C: u32 = unsafe { C = 1; 0 };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating `C`...
|
||||
note: ...which requires const-evaluating + checking `C`...
|
||||
--> $DIR/write-to-static-mut-in-static.rs:5:1
|
||||
|
|
||||
LL | pub static mut C: u32 = unsafe { C = 1; 0 };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires const-evaluating `C`, completing the cycle
|
||||
= note: ...which again requires const-evaluating + checking `C`, completing the cycle
|
||||
= note: cycle used when running analysis passes on this crate
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue