Crate rustc_session
source ·Re-exports
pub use rustc_lint_defs as lint;
pub use getopts;
Modules
Some facilities for tracking how codegen-units are reused during incremental
compilation. This is used for incremental compilation tests and debug
output.
Contains infrastructure for configuring the compiler, including parsing
command-line options.
the rustc crate store interface. This also includes types that
are mostly used as a part of that interface, but these should
probably get a better home if someone can find one.
A module for searching for libraries
options 🔒
Related to out filenames of compilation (e.g. save analysis, binaries).
Contains
ParseSess
which holds state living beyond what one Parser
might.
It also serves as an input to the parser itself.session 🔒
Macros
Declares a static item of type
&'static Lint
.Declares a type named
$name
which implements LintPass
.
To the right of =>
a comma separated list of Lint
statics is given.Implements
LintPass for $ty
with the given list of Lint
statics.Structs
Metadata associated with an item.
New-type wrapper around
usize
for representing limits. Ensures that comparisons against
limits are consistent throughout the compiler.Represents the data associated with a compilation
session for a single crate.
A
StableCrateId
is a 64-bit hash of a crate name, together with all
-Cmetadata
arguments, and some other data. It is to CrateNum
what DefPathHash
is to
DefId
. It is stable across compilation sessions.Enums
The behavior of the CTFE engine when an error occurs with regards to backtraces.
Holds data on the current incremental compilation session, if there is one.
Traits
Requirements for a
StableHashingContext
to be used in this crate.
This is a hack to allow using the HashStable_Generic
derive macro
instead of implementing everything in rustc_middle
.Trait implemented by error types. This should not be implemented manually. Instead, use
#[derive(SessionDiagnostic)]
– see rustc_macros::SessionDiagnostic.