Struct rustc_span::SessionGlobals
source · pub struct SessionGlobals {
pub(crate) symbol_interner: Interner,
pub(crate) span_interner: Lock<SpanInterner>,
pub(crate) hygiene_data: Lock<HygieneData>,
pub(crate) source_map: Lock<Option<Lrc<SourceMap>>>,
}
Expand description
Per-session global variables: this struct is stored in thread-local storage in such a way that it is accessible without any kind of handle to all threads within the compilation session, but is not accessible outside the session.
Fields§
§symbol_interner: Interner
§span_interner: Lock<SpanInterner>
§hygiene_data: Lock<HygieneData>
§source_map: Lock<Option<Lrc<SourceMap>>>
Implementations§
source§impl SessionGlobals
impl SessionGlobals
pub fn new(edition: Edition) -> SessionGlobals
Auto Trait Implementations§
impl !RefUnwindSafe for SessionGlobals
impl !Send for SessionGlobals
impl !Sync for SessionGlobals
impl Unpin for SessionGlobals
impl !UnwindSafe for SessionGlobals
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: 432 bytes