Rust errors / Const, static and compile-time
Rust compiler error · checked with rustc 1.99.0
Rust error E0435: attempt to use a non-constant value in a constant
What it meansA non-constant value was used in a constant expression.
What rustc prints
error[E0435]: attempt to use a non-constant value in a constant --> main.rs:4:13 | 4 | let a: [u8; foo]; // error: attempt to use a non-constant value in a constant | ^^^ non-constant value | help: consider using `const` instead of `let` | 3 - let foo = 42; 3 + const foo: /* Type */ = 42; |
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
A non-constant value was used in a constant expression.
Erroneous code example:
let foo = 42;
let a: [u8; foo]; // error: attempt to use a non-constant value in a constant
'constant' means 'a compile-time value'.
More details can be found in the Variables and Mutability section of the book.
To fix this error, please replace the value with a constant. Example:
let a: [u8; 42]; // ok!
Or:
const FOO: usize = 42;
let a: [u8; FOO]; // ok!From rustc --explain E0435 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0015: cannot call non-const fn in constantsA related error from the same family.Read it next →Did this answer your question?