# E0380

The program uses something the interpreter cannot run yet: a construct the checked program cannot express, a call of a prelude function with no runtime implementation, or a parameter of `main` that is neither a capability nor `Args`. The message names the construct, as in ``the interpreter cannot run a `From`-bound conversion yet``; others are a constructor used as a function value, a call of a generic trait's method, and a `?` or `return` in a contract outside any closure (the checker rejects that first, with `E0282`, so this is a second line of defence). Spans the construct or call, or `main`'s body for a parameter.

**Machine-applicable fix:** none.

## Example

This program fails with `E0380`.

```oska
fn main() {
    let make = Some
    let x: Option<Int> = make(1)
}
```

## Fixed

The same program, fixed.

```oska
fn main() {
    let x: Option<Int> = Some(1)
}
```

Listed in the [runtime notes](/runtime.md#e0380). `oskac explain E0380` prints this entry offline.