Rust Target Configuration
To configure Rust target, use [rs] in genotype.toml.
This configuration reference lists all available Rust configuration options.
See the Genotype Configuration for global settings and Common Target Options.
rs.enabled - Enable Target
Section titled “rs.enabled - Enable Target”Set to true to generate Rust. Defaults to false; see enable target.
[rs]enabled = trueGeneration
Section titled “Generation”rs.derive - Derive Traits
Section titled “rs.derive - Derive Traits”derive sets the base list of traits derived for generated structs and enums. It defaults to ["Debug", "Clone", "PartialEq"]:
[rs]enabled = truederive = ["Debug", "Clone", "PartialEq", "Eq", "Hash"]The configured list replaces the default list. Genotype also adds traits required by generated types, including Serde serialization and deserialization derives. Default is currently omitted from union enum derives.
Including Eq, Hash, or Ord makes Genotype use ordered float wrappers for floating-point values so they can support those traits.
Package
Section titled “Package”rs.package - Package Generation
Section titled “rs.package - Package Generation”Overrides package generation for Rust. Inherits the global setting when omitted; see target package generation.
rs.dist - Output Directory
Section titled “rs.dist - Output Directory”Defaults to "rs", relative to the global output directory. See target output directory.
[rs.manifest] - Cargo.toml
Section titled “[rs.manifest] - Cargo.toml”Manifest options in [rs.manifest] follow the Cargo.toml structure. Set package metadata under [rs.manifest.package]:
[rs.manifest.package]name = "bookstore_types"version = "0.2.0"edition = "2024"license = "MIT"
[rs.manifest.dependencies]shared_types = "1"The generated crate has a src/lib.rs entry point and defaults to edition "2024". Its default name uses snake_case. See package generation for layout controls.
Modules
Section titled “Modules”[rs.dependencies] - External Modules
Section titled “[rs.dependencies] - External Modules”Values in dependencies are Rust crate paths used in generated imports:
[rs.dependencies]shared_types = "bookstore_shared"Formatting
Section titled “Formatting”rs.formatters - Formatters
Section titled “rs.formatters - Formatters”Adds formatters for Rust; defaults to []. See target formatters for execution order and formatter configuration for commands and presets.