# XO0160: a token that does not fit the grammar here

The general syntax error: the parser expected one thing (an expression, `,`, `)`, a type, `in` in a `for`, ...) and found another. The message names what was expected and what was found. It is also used for a keyword written where a name is needed, bitwise compound assignments (only `+= -= *= /= %=` exist), an interface method with a body, and a statement such as `return` used as a value. The parser recovers at the next statement, so one mistake gives one diagnostic. See core 15 for the grammar.

## Example

```xo
fn f() -> Int {
  let x = (1 2)
  x
}
```

## Fix

```xo
fn f() -> Int {
  let x = (1 + 2)
  x
}
```

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

