Module rustc_session::config
source · Expand description
Contains infrastructure for configuring the compiler, including parsing command-line options.
Modules
- Command-line arguments passed to the compiler have to be incorporated with the dependency tracking system for incremental compilation. This module provides some utilities to make this more convenient.
- opt 🔒
- NOTE: Keep these constants in sync with
library/std/src/sys/unix/mod.rs
!
Structs
- The parsed
--check-cfg
options - Use tree-based collections to cheaply get a deterministic
Hash
implementation. Do not switchBTreeMap
orBTreeSet
out for an unsorted container type! That would break dependency tracking for command-line arguments. - Settings for
-Z instrument-xray
flag. - Possible json config files
- The different values
-C link-self-contained
can take: a list of individually enabled or disabled components used during linking, coming from the rustc distribution, instead of being found somewhere on the host system. - The
-C link-self-contained
components that can individually be enabled or disabled. - The different settings that can be enabled via the
-Z location-detail
flag. - The top-level command-line options struct.
- Use tree-based collections to cheaply get a deterministic
Hash
implementation. Do not switchBTreeMap
out for an unsorted container type! That would break dependency tracking for command-line arguments. Also only hash keys, since tracking should only depend on the output types, not the paths they’re written to.
Enums
- The different settings that the
-C control-flow-guard
flag can have. - The different settings that the
-Z cf-protection
flag can have. - Which format to use for
-Z dump-mono-stats
- The type of diagnostics output to generate.
- Used with
-Z assert-incr-state
. - The different settings that the
-C instrument-coverage
flag can have. - Report unused externs in event stream
- This is what the
LtoCli
values get mapped to after resolving defaults and and taking other command line options into account. - The different settings that the
-C lto
flag can have. - The different settings that the
-Z dump_mir_spanview
flag can have.Statement
generates a document highlighting each span of every statement (including terminators).Terminator
andBlock
highlight a single span perBasicBlock
: the span of the block’sTerminator
, or a computed span for the block, representing the entire range, covering the block’s terminator and all of its statements. - Default behavior to use in out-of-memory situations.
- How to run proc-macro code when building this crate
- Split debug-information is enabled by
-C split-debuginfo
, this enum is only used if split debug-information is enabled (in eitherPacked
orUnpacked
modes), and the platform uses DWARF for debug-information. - The different settings that the
-C strip
flag can have. - Parameter to control path trimming.
Constants
Statics
Functions
- Parses the
--color
flag. - Parses the
--error-format
flag. - Parse the
--json
flag. - Returns all rustc command line options, including metadata for each option, such as whether the option is part of the stable long-term interface for rustc.
- Returns the “short” subset of the rustc command line options, including metadata for each option, such as whether the option is part of the stable long-term interface for rustc.
- Converts the crate
--check-cfg
options fromString
toSymbol
.rustc_interface::interface::Config
accepts this in the compiler configuration, but the symbol interner is not yet set up then, so we must convert it later. - Converts the crate
cfg!
configuration fromString
toSymbol
.rustc_interface::interface::Config
accepts this in the compiler configuration, but the symbol interner is not yet set up then, so we must convert it later.