Skip to content

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.

Set to true to generate Rust. Defaults to false; see enable target.

[rs]
enabled = true

derive sets the base list of traits derived for generated structs and enums. It defaults to ["Debug", "Clone", "PartialEq"]:

[rs]
enabled = true
derive = ["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.

Overrides package generation for Rust. Inherits the global setting when omitted; see target package generation.

Defaults to "rs", relative to the global output directory. See target output directory.

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.

Values in dependencies are Rust crate paths used in generated imports:

[rs.dependencies]
shared_types = "bookstore_shared"

Adds formatters for Rust; defaults to []. See target formatters for execution order and formatter configuration for commands and presets.