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 fn `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! }