Struct rustc_session::parse::ParseSess [−][src]
pub struct ParseSess {Show 17 fields
pub span_diagnostic: Handler,
pub unstable_features: UnstableFeatures,
pub config: CrateConfig,
pub edition: Edition,
pub missing_fragment_specifiers: Lock<FxHashMap<Span, NodeId>>,
pub raw_identifier_spans: Lock<Vec<Span>>,
source_map: Lrc<SourceMap>,
pub buffered_lints: Lock<Vec<BufferedEarlyLint>>,
pub ambiguous_block_expr_parse: Lock<FxHashMap<Span, Span>>,
pub gated_spans: GatedSpans,
pub symbol_gallery: SymbolGallery,
pub reached_eof: Lock<bool>,
pub env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>,
pub file_depinfo: Lock<FxHashSet<Symbol>>,
pub type_ascription_path_suggestions: Lock<FxHashSet<Span>>,
pub assume_incomplete_release: bool,
pub proc_macro_quoted_spans: Lock<Vec<Span>>,
}
Expand description
Info about a parsing session.
Fields
span_diagnostic: Handler
unstable_features: UnstableFeatures
config: CrateConfig
edition: Edition
missing_fragment_specifiers: Lock<FxHashMap<Span, NodeId>>
raw_identifier_spans: Lock<Vec<Span>>
Places where raw identifiers were used. This is used for feature-gating raw identifiers.
source_map: Lrc<SourceMap>
buffered_lints: Lock<Vec<BufferedEarlyLint>>
ambiguous_block_expr_parse: Lock<FxHashMap<Span, Span>>
Contains the spans of block expressions that could have been incomplete based on the operation token that followed it, but that the parser cannot identify without further analysis.
gated_spans: GatedSpans
symbol_gallery: SymbolGallery
reached_eof: Lock<bool>
The parser has reached Eof
due to an unclosed brace. Used to silence unnecessary errors.
env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>
Environment variables accessed during the build and their values when they exist.
file_depinfo: Lock<FxHashSet<Symbol>>
File paths accessed during the build.
type_ascription_path_suggestions: Lock<FxHashSet<Span>>
All the type ascriptions expressions that have had a suggestion for likely path typo.
assume_incomplete_release: bool
Whether cfg(version) should treat the current release as incomplete
proc_macro_quoted_spans: Lock<Vec<Span>>
Spans passed to proc_macro::quote_span
. Each span has a numerical
identifier represented by its position in the vector.
Implementations
Used for testing.
pub fn buffer_lint(
&self,
lint: &'static Lint,
span: impl Into<MultiSpan>,
node_id: NodeId,
msg: &str
)
pub fn buffer_lint_with_diagnostic(
&self,
lint: &'static Lint,
span: impl Into<MultiSpan>,
node_id: NodeId,
msg: &str,
diagnostic: BuiltinLintDiagnostics
)
Extend an error with a suggestion to wrap an expression with parentheses to allow the parser to continue parsing the following operation as part of the same expression.
Auto Trait Implementations
impl !RefUnwindSafe for ParseSess
impl !UnwindSafe for ParseSess
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 760 bytes