Module rustc::session::config[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

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

Re-exports

pub use self::EntryFnType::*;
pub use self::CrateType::*;
pub use self::Passes::*;
pub use self::DebugInfoLevel::*;
use std::str::FromStr;
use session::early_error;
use session::early_warn;
use session::Session;
use session::search_paths::SearchPaths;
use ich::StableHashingContext;
use rustc_target::spec::LinkerFlavor;
use rustc_target::spec::PanicStrategy;
use rustc_target::spec::RelroLevel;
use rustc_target::spec::Target;
use rustc_target::spec::TargetTriple;
use rustc_data_structures::stable_hasher::ToStableHashKey;
use lint;
use middle::cstore;
use syntax::ast;
use syntax::ast::IntTy;
use syntax::ast::UintTy;
use syntax::codemap::FileName;
use syntax::codemap::FilePathMapping;
use syntax::edition::Edition;
use syntax::edition::EDITION_NAME_LIST;
use syntax::edition::DEFAULT_EDITION;
use syntax::parse::token;
use syntax::parse;
use syntax::symbol::Symbol;
use syntax::feature_gate::UnstableFeatures;
use errors::ColorConfig;
use errors::FatalError;
use errors::Handler;
use getopts;
use std::collections::BTreeMap;
use std::collections::BTreeSet;
use std::collections::btree_map::Iter as BTreeMapIter;
use std::collections::btree_map::Keys as BTreeMapKeysIter;
use std::collections::btree_map::Values as BTreeMapValuesIter;
use std::fmt;
use std::str;
use std::hash::Hasher;
use std::collections::hash_map::DefaultHasher;
use std::collections::HashSet;
use std::iter::FromIterator;
use std::path::Path;
use std::path::PathBuf;

Modules

cg_type_desc [
Experimental
]
cgsetters [
Experimental
]
db_type_desc [
Experimental
]
dbsetters [
Experimental
]
dep_tracking [
Experimental
]

Commandline 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.

nightly_options [
Experimental
]
opt [
Experimental
]

Structs

CodegenOptions [
Experimental
]
Config [
Experimental
]
DebuggingOptions [
Experimental
]
Externs [
Experimental
]
Options [
Experimental
]
OutputFilenames [
Experimental
]
OutputTypes [
Experimental
]
RustcOptGroup [
Experimental
]

Enums

BorrowckMode [
Experimental
]
CrateType [
Experimental
]
CrossLangLto [
Experimental
]
DebugInfoLevel [
Experimental
]
EntryFnType [
Experimental
]
ErrorOutputType [
Experimental
]
Input [
Experimental
]
Lto [
Experimental
]
OptLevel [
Experimental
]
OptionStability [
Experimental
]
OutputType [
Experimental
]
Passes [
Experimental
]
PrintRequest [
Experimental
]
Sanitizer [
Experimental
]

Constants

CG_OPTIONS [
Experimental
]
DB_OPTIONS [
Experimental
]
RUST_CGU_EXT [
Experimental
]

Functions

basic_codegen_options [
Experimental
]
basic_debugging_options [
Experimental
]
basic_options [
Experimental
]

Some reasonable defaults

build_codegen_options [
Experimental
]
build_configuration [
Experimental
]
build_debugging_options [
Experimental
]
build_session_options_and_crate_config [
Experimental
]
build_target_config [
Experimental
]
default_configuration [
Experimental
]
default_lib_output [
Experimental
]
host_triple [
Experimental
]
parse_cfgspecs [
Experimental
]
parse_crate_types_from_list [
Experimental
]
rustc_optgroups [
Experimental
]

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.

rustc_short_optgroups [
Experimental
]

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.

Type Definitions

CodegenSetter [
Experimental
]
DebuggingSetter [
Experimental
]