Skip to content

Language versions: what a declared version promises, and how it's proven (target versions step 4) - #77

Merged
Kinflou merged 1 commit into
mainfrom
docs/target-versions-implemented
Oct 24, 2026
Merged

Kinflou merged 1 commit into
mainfrom
docs/target-versions-implemented

Conversation

@Kinflou

@Kinflou Kinflou commented Oct 24, 2026

Copy link
Copy Markdown
Member

Step 4 of target versions (generation#76): the docs for what steps 1–3 shipped.

  • Guide, Generating code, a new "Language versions" section:
    • a declared version is a minimum, and each generator has a floor (comline targets output shown);
    • comline build proves every declaration: the floor, dependencies' declarations, and features at that version;
    • comline.toml may only raise lang_version, and a version never changes the wire;
    • past what a generator has verified, the generation::unverified-version warning, with the settings snippet that makes it an error;
    • the version headers, and TypeScript's peer dependency.
  • Examples move to rust#1.85.0. The python#3.11.0 example becomes typescript#5.0, since comline build now refuses a language it has no generator for. The comline.toml examples show raising the version (1.88.0).
  • Reference: comline build and comline targets in the CLI table, and lang_version in comline.toml.
  • Rust: generated errors implement core::error::Error (comline-rust#70), replacing the paragraph that said it was waiting on 1.81.
  • Language target versions is marked implemented. A new "As implemented" section records where the result differs from the text: Rust's floor is 1.85 with no boundaries, an unknown language fails the build, the editor checks direct dependencies only, targets keeps name#floor first, the peer dependency is optional, and what isn't done yet. implemented is added to the proposal status legend.
  • Language pages re-synced from features.json (rust 1.85.0).

The design records still say rust#1.70.0; they describe what was true when written.

zensical build --strict passes, and so do the CLI and IDL drift checks.

…t's proven

The codegen guide gains a Language versions section: a version is a
minimum, each generator has a floor (comline targets), comline build
proves every declaration (floor, dependencies, features), comline.toml may
only raise it, and generation::unverified-version past what's verified.
Examples move to rust#1.85.0; Rust errors implement core::error::Error;
the target-versions proposal is marked implemented, with where it
differs; the language pages are re-synced.
@Kinflou
Kinflou merged commit b2addcc into main Oct 24, 2026
4 checks passed
@Kinflou
Kinflou deleted the docs/target-versions-implemented branch October 24, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant