The Rust target for Comline — one repo per language, holding that language's codegen, libgen, runtime and std-extra together.
Today: just codegen/ (comline-codegen-rust), extracted from
ComlineProject/generation. The FFI / dylib (lib-mode) work is gated
pending a rewrite against the current IR (G2c); a runtime and std-extra follow.
comline-codegen-rust — frozen IR → Rust source.
code— one<namespace>.rsper schema: serde data types, plain traits, C-like enums.lib— a buildable crate:Cargo.toml+src/lib.rs(module tree) +src/<namespace>.rs.
Depends on comline-codegen (the language-neutral contract + Registry) and
comline-core (the IR), both by git rev. register(&mut Registry) contributes
the generator under rust at version 1.70.0; the Comline CLI composes it into
its Registry at startup.
cargo testThe rust_c_ffi/, rust_abi_stable/, lib_gen_rust*/ modules are kept for
reference but not built — they target a pre-audit FrozenUnit and need a
rewrite, not a port.
See ComlineProject/docs → Design:
- Runtime & generation repository structure — why one repo per language
- Generation — what codegen / libgen / runtime each mean
- The
core↔ target contract — the boundary this repo builds against
GNU General Public License v3.0 only (LICENSE or
https://www.gnu.org/licenses/gpl-3.0.html). This generator links
comline-core and is part of Comline's GPL toolchain. Copyleft covers the
generator, not the code it emits — generated bindings are yours and link
only comline-runtime (MPL-2.0). Contributions are GPL-3.0-only. Rationale +
per-repo split: design/licensing.md.