# V2050 hole_in_build

URL: /docs/errors/V2050
Markdown: /docs/errors/V2050.md

> sakura build, sakura run and sakura test reject typed holes (?name).

An error from the `type` phase. `sakura explain V2050` prints this explanation offline.

`sakura build`, `sakura run` and `sakura test` reject typed holes (`?name`). `sakura check` allows them and
reports each as a `hole` record with the expected type, locals and candidates (design §12.4).
Replace the hole with an expression.

## Wrong program [#wrong-program]

[`compiler/tests/ui/V2050_hole_in_build.sakura`](https://github.com/icantcodefyi/sakuralang/blob/master/compiler/tests/ui/V2050_hole_in_build.sakura), which the compiler's ui suite runs through `sakura build`:

```sakura
fn unfinished(x: Int) -> Int { ?result }
```

`sakura build` reports `V2050`.

## Fixed program [#fixed-program]

[`compiler/tests/ui/V2050_hole_in_build.fixed.sakura`](https://github.com/icantcodefyi/sakuralang/blob/master/compiler/tests/ui/V2050_hole_in_build.fixed.sakura), which `sakura build` accepts with no diagnostics:

```sakura
fn unfinished(x: Int) -> Int { x * 2 }
```
