rustc_session

Module config

source
Expand description

Contains infrastructure for configuring the compiler, including parsing command-line options.

Modules§

  • cfg πŸ”’
    cfg and check-cfg configuration
  • dep_tracking πŸ”’
    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/pal/unix/mod.rs!

Structs§

  • The parsed --check-cfg options.
  • Individual flag values controlled by -Z coverage-options.
  • Use tree-based collections to cheaply get a deterministic Hash implementation. Do not switch BTreeMap or BTreeSet 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 different values that -Z linker-features can take on the CLI: a list of individually enabled or disabled features used during linking.
  • 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 switch BTreeMap 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.
  • -Z patchable-function-entry representation - how many nops to put before and after function entry.
  • Scopes used to determined if it need to apply to –remap-path-prefix

Enums§

Constants§

Statics§

Functions§

Type Aliases§

  • The parsed --cfg options that define the compilation environment of the crate, used to drive conditional compilation.