warning: denote infinite loops with `loop { ... }` --> $DIR/issue-52443.rs:6:11 | LL | [(); {while true {break}; 0}]; | ^^^^^^^^^^ help: use `loop` | = note: `#[warn(while_true)]` on by default error[E0658]: `for` is not allowed in a `const` --> $DIR/issue-52443.rs:9:12 | LL | [(); { for _ in 0usize.. {}; 0}]; | ^^^^^^^^^^^^^^^^^^^^ | = note: see issue #87575 for more information = help: add `#![feature(const_for)]` to the crate attributes to enable error[E0308]: mismatched types --> $DIR/issue-52443.rs:2:10 | LL | [(); & { loop { continue } } ]; | ^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found reference | = note: expected type `usize` found reference `&_` help: consider removing the borrow | LL - [(); & { loop { continue } } ]; LL + [(); { loop { continue } } ]; | error[E0308]: mismatched types --> $DIR/issue-52443.rs:4:17 | LL | [(); loop { break }]; | ^^^^^ | | | expected `usize`, found `()` | help: give it a value of the expected type: `break 42` error[E0015]: cannot convert `RangeFrom` into an iterator in constants --> $DIR/issue-52443.rs:9:21 | LL | [(); { for _ in 0usize.. {}; 0}]; | ^^^^^^^^ | note: impl defined here, but it is not `const` --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL = note: calls in constants are limited to constant functions, tuple structs and tuple variants = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable error[E0658]: mutable references are not allowed in constants --> $DIR/issue-52443.rs:9:21 | LL | [(); { for _ in 0usize.. {}; 0}]; | ^^^^^^^^ | = note: see issue #57349 for more information = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable error[E0015]: cannot call non-const fn ` as Iterator>::next` in constants --> $DIR/issue-52443.rs:9:21 | LL | [(); { for _ in 0usize.. {}; 0}]; | ^^^^^^^^ | = note: calls in constants are limited to constant functions, tuple structs and tuple variants = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable error: aborting due to 6 previous errors; 1 warning emitted Some errors have detailed explanations: E0015, E0308, E0658. For more information about an error, try `rustc --explain E0015`.