A function call isn‘t allowed in the const’s initialization expression because the expression's value must be known at compile-time.

Erroneous code example:

#![feature(box_syntax)]

fn main() {
    struct MyOwned;

    static STATIC11: Box<MyOwned> = box MyOwned; // error!
}

Remember: you can‘t use a function call inside a const’s initialization expression! However, you can totally use it anywhere else:

enum Test {
    V1
}

impl Test {
    fn func(&self) -> i32 {
        12
    }
}

fn main() {
    const FOO: Test = Test::V1;

    FOO.func(); // here is good
    let x = FOO.func(); // or even here!
}