# E0229

Assignment to something that is not a `var` binding: a `let` binding, a parameter, or a field of `self` in a method without `var self`.

**Machine-applicable fix:** Change `let` to `var`, or `self` to `var self`. None for parameters.

## Example

This program fails with `E0229`.

```oska
fn main() {
    let x = 1
    x = 2
}
```

## Fixed

The same program, fixed.

```oska
fn main() {
    var x = 1
    x = 2
}
```

Listed in the [checker notes](/checker.md#e0229). `oskac explain E0229` prints this entry offline.