# XO0175: two statements or arms on one line

Newlines terminate statements and separate declarations and `match` arms, and Xo has no semicolons in source (core 1.3). Two statements, declarations, or arms on one line are rejected. Put each on its own line. Several `match` or `select` arms on one line (`match r { Ok(v) => v Err(_) => 0 }`) get a machine fix that puts each arm on its own line (`xo fix`), and the parser keeps every arm, so no false missing arm error (XO0301) follows.

## Example

```xo
fn a() {}
fn b() {}

fn f() {
  a() b()
}
```

## Fix

```xo
fn a() {}
fn b() {}

fn f() {
  a()
  b()
}
```

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

