W3cubDocs

/Rust

Error code E0015

A non-const function was called in a const context.

Erroneous code example:

#![allow(unused)]
fn main() {
fn create_some() -> Option<u8> {
    Some(1)
}

// error: cannot call non-const function `create_some` in constants
const FOO: Option<u8> = create_some();
}

All functions used in a const context (constant or static expression) must be marked const.

To fix this error, you can declare create_some as a constant function:

#![allow(unused)]
fn main() {
// declared as a `const` function:
const fn create_some() -> Option<u8> {
    Some(1)
}

const FOO: Option<u8> = create_some(); // no error!
}

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0015.html