Skip to main content

Crate rucc_session

Crate rucc_session 

Source
Expand description

The Session: the options, the interner and the diagnostic sink that every stage of a single compilation is handed.

Design: spec/03-architecture.md and spec/04-driver-and-cli.md. Layer rank 3, see spec/18-package-layout.md.

Everything below the driver reaches the outside world through this type and not through std::fs, std::env or println!. That is the whole reason the compiler can be used as a library and tested without spawning a process, and it is enforced by the layer rule rather than by discipline.

§Status

Options, optimisation levels, emit kinds and diagnostic counting are real. The parallel job model and the file system abstraction land with the rest of M0 and M1.

This crate is tier 3 in spec/18-package-layout.md section 18.5: its Rust API is explicitly unstable and will change without a major version bump.

Structs§

Options
Everything a compilation was asked to do.
Session
One compilation.

Enums§

EmitKind
What the compiler should produce.
OptLevel
An optimisation level.