soma.cell

E0112: edition

E0112 edition — an unknown edition in soma.toml.

A compile-time error of soma check, the checker of the Soma programming language (soma explain E0112).

The rule

The edition key under [package] in soma.toml must name an edition this toolchain knows; this binary knows "2026" (the default when the key is absent) and "2027", and refuses any other value with E0112 on every program checked beside that manifest. The error lies in soma.toml, not in the program, so the cell does not change: correct the value, here from "2025" to "2027", or delete the key to get edition 2026. soma fix --edition 2027 app.cell moves a program to edition 2027 and writes soma.toml for you.

A program that triggers it

soma.toml

[package]
name = "inventory"
edition = "2025"

wrong.cell

cell Inventory {
    face {
        signal restock(sku: String, qty: Int) -> Int
    }
    memory {
        stock: Map<String, Int> [persistent]
    }
    on restock(sku: String, qty: Int) {
        let n = (stock.get(sku) ?? 0) + qty
        stock.set(sku, n)
        return n
    }
}

What soma check prints:

$ soma check wrong.cell
error: soma.toml: edition = "2025" is not an edition this toolchain knows — the editions are "2026", "2027"
  = code: E0112
✗ 1 error(s), 0 warning(s).

The fix field of soma check --json: the editions are "2026", "2027"

soma.toml

[package]
name = "inventory"
edition = "2027"

The fix is in the manifest.

With the fix, soma check accepts the program:

$ soma check right.cell
✓ All checks passed.