Targets · Rust · Project setup

Project setup

Everything around the rendered code that makes a working, buildable Cargo crate.

Contents

How a Program becomes Rust, in parts. Start with the introduction, then follow each part into the rendered output and the runtime it links against.

The files

A rendered Rust program is an ordinary Cargo crate: a Cargo.toml manifest and a src/ tree, with each top module a mod.

my-app/
  Cargo.toml            # manifest: name, edition, dependencies
  src/
    main.rs             # fn main() { Program::Application(...) }
    reactive/           # the runtime crate (Reactive + Context + drivers)
    ui.rs  maths.rs ...  # one module per top module
# Cargo.toml
[package]
name = "my-app"
edition = "2021"

[dependencies]
reactive = { path = "reactive" }

Build and run

Cargo builds and runs it — no extra tooling.

cargo build            # compile
cargo run              # build and run
cargo build --release  # an optimised binary

The output is a single native binary. The generated code and the runtime are ordinary Rust, so the crate builds and ships exactly like any other.