# XO0172: function declaration without a body

Every `fn` declaration outside an interface needs a `{ ... }` body. Only interface method signatures have no body. If the body is not written yet, use a typed hole `???` (core 3.7) so the rest of the program still checks. See core 3.2 and 15.

## Example

```xo
fn f() -> Int
fn g() {}
```

## Fix

```xo
fn f() -> Int { ??? }
fn g() {}
```

Run `xo explain XO0172` for this text in a terminal, or see
[section 10.6 of the specification](../../spec/core/#106-diagnostic-codes).

