Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building and running programs

Plenty compiles ahead of time through Cranelift. Checking needs no native linker; running and executable builds use a cc-compatible driver and the runtime archive embedded in the compiler. Program builds invoke neither Cargo nor rustc.

  • Installing a release: release archives, requirements, and PATH setup.
  • Commands: checking, running, executable and library output.
  • Warnings: lints that checking reports, such as redundant-copy.
  • Neovim: file detection, syntax highlighting, editing defaults, and language server setup.
  • Language server: plenty lsp diagnostics, hover, go to definition, and completion.
  • Packages: plenty.toml, path dependencies, plenty.lock, profiles, and the plenty build, run, check, and test commands.
  • Application exits: statuses and returned-error reports.
  • Native linking and targets: driver arguments, object output, runtime extraction, and supported platforms.
  • Native engines: when a large native library ships as a separate shared library, and the contract it follows.
  • Application distributions: explicit relocatable executable, engine and notices bundles with --dist.
  • Library artifacts: generated files, contract inspection, and publication guarantees.
  • Fuzzing: coverage-instrumented libFuzzer builds with --fuzz.

For source-level entrypoint rules, see source and modules. For runtime packaging, see architecture.