Expand description
cfg and check-cfg configuration
This module contains the definition of Cfg and CheckCfg
as well as the logic for creating the default configuration for a
given Session.
It also contains the filling of the well known configs, which should ALWAYS be in sync with the default_configuration.
§Adding a new cfg
Adding a new feature requires two new symbols one for the cfg it-self
and the second one for the unstable feature gate, those are defined in
rustc_span::symbol.
As well as the following points,
- Add the activation logic in
default_configuration - Add the cfg to
CheckCfg::fill_well_known(and related files), so that the compiler can know the cfg is expected - Add the cfg in
disallow_cfgsto disallow users from setting it via--cfg - Add the feature gating in
compiler/rustc_feature/src/builtin_attrs.rs
Structs§
- The parsed
--check-cfgoptions.
Enums§
Functions§
- Generate the default configs for a given session
- Disallow builtin cfgs from the CLI.
Type Aliases§
- The parsed
--cfgoptions that define the compilation environment of the crate, used to drive conditional compilation.