Crate rustc_ap_rustc_session[][src]


pub use rustc_lint_defs as lint;
pub use getopts;


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.

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.


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.


Metadata associated with an item.

Hash value constructed out of all the -C metadata arguments passed to the compiler. Together with the crate-name forms a unique global identifier for the crate.

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.


The behavior of the CTFE engine when an error occurs with regards to backtraces.

Diagnostic message ID, used by Session.one_time_diagnostics to avoid emitting the same message more than once.

Holds data on the current incremental compilation session, if there is one.


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.