| expected `usize`, found `()`
| help: give it a value of the expected type: `break 42`
-error[E0277]: the trait bound `RangeFrom<usize>: Iterator` is not satisfied
+error[E0015]: cannot convert `RangeFrom<usize>` into an iterator in constants
--> $DIR/issue-52443.rs:9:21
|
LL | [(); { for _ in 0usize.. {}; 0}];
- | ^^^^^^^^ `RangeFrom<usize>` is not an iterator
+ | ^^^^^^^^
+ |
+note: impl defined here, but it is not `const`
+ --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
+ |
+LL | impl<I: ~const Iterator> const IntoIterator for I {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ = note: calls in constants are limited to constant functions, tuple structs and tuple variants
+
+error[E0658]: mutable references are not allowed in constants
+ --> $DIR/issue-52443.rs:9:21
|
- = help: the trait `~const Iterator` is not implemented for `RangeFrom<usize>`
-note: the trait `Iterator` is implemented for `RangeFrom<usize>`, but that implementation is not `const`
+LL | [(); { for _ in 0usize.. {}; 0}];
+ | ^^^^^^^^
+ |
+ = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+ = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
+
+error[E0015]: cannot call non-const fn `<RangeFrom<usize> as Iterator>::next` in constants
--> $DIR/issue-52443.rs:9:21
|
LL | [(); { for _ in 0usize.. {}; 0}];
| ^^^^^^^^
- = note: required for `RangeFrom<usize>` to implement `~const IntoIterator`
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
|
-LL | fn main() where RangeFrom<usize>: ~const Iterator {
- | +++++++++++++++++++++++++++++++++++++++
+ = note: calls in constants are limited to constant functions, tuple structs and tuple variants
-error: aborting due to 4 previous errors; 1 warning emitted
+error: aborting due to 6 previous errors; 1 warning emitted
-Some errors have detailed explanations: E0277, E0308, E0658.
-For more information about an error, try `rustc --explain E0277`.
+Some errors have detailed explanations: E0015, E0308, E0658.
+For more information about an error, try `rustc --explain E0015`.