Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0586: inclusive range with no end
What it meansAn inclusive range was used with no end.
What rustc prints
error[E0586]: inclusive range with no end --> main.rs:3:19 | 3 | let x = &tmp[1..=]; // error: inclusive range was used with no end | ^^^ | = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`) help: use `..` instead | 3 - let x = &tmp[1..=]; // error: inclusive range was used with no end 3 + let x = &tmp[1..]; // error: inclusive range was used with no end |
Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
An inclusive range was used with no end.
Erroneous code example:
fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1..=]; // error: inclusive range was used with no end
}
An inclusive range needs an end in order to *include* it. If you just need a start and no end, use a non-inclusive range (with ..):
fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1..]; // ok!
}
Or put an end to your inclusive range:
fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1..=3]; // ok!
}From rustc --explain E0586 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0584found a documentation comment that doesn't document anything
- E0585found a documentation comment that doesn't document anything
- E0590`break` or `continue` with no label in the condition of a `while` loop
- E0591Per [RFC 401][rfc401], if you have a function declaration `foo`:
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?