Struct rustc_interface::Queries
source · pub struct Queries<'tcx> {
compiler: &'tcx Compiler,
gcx_cell: OnceLock<GlobalCtxt<'tcx>>,
arena: WorkerLocal<Arena<'tcx>>,
hir_arena: WorkerLocal<Arena<'tcx>>,
parse: Query<Crate>,
gcx: Query<&'tcx GlobalCtxt<'tcx>>,
}
Fields§
§compiler: &'tcx Compiler
§gcx_cell: OnceLock<GlobalCtxt<'tcx>>
§arena: WorkerLocal<Arena<'tcx>>
§hir_arena: WorkerLocal<Arena<'tcx>>
§parse: Query<Crate>
§gcx: Query<&'tcx GlobalCtxt<'tcx>>
Implementations§
source§impl<'tcx> Queries<'tcx>
impl<'tcx> Queries<'tcx>
pub fn new(compiler: &'tcx Compiler) -> Queries<'tcx>
pub fn finish(&self) -> FileEncodeResult
pub fn parse(&self) -> Result<QueryResult<'_, Crate>>
pub fn global_ctxt( &'tcx self ) -> Result<QueryResult<'_, &'tcx GlobalCtxt<'tcx>>>
pub fn write_dep_info(&'tcx self) -> Result<()>
sourcefn check_for_rustc_errors_attr(tcx: TyCtxt<'_>)
fn check_for_rustc_errors_attr(tcx: TyCtxt<'_>)
Check for the #[rustc_error]
annotation, which forces an error in codegen. This is used
to write UI tests that actually test that compilation succeeds without reporting
an error.
pub fn codegen_and_build_linker(&'tcx self) -> Result<Linker>
Auto Trait Implementations§
impl<'tcx> !DynSend for Queries<'tcx>
impl<'tcx> !DynSync for Queries<'tcx>
impl<'tcx> !Freeze for Queries<'tcx>
impl<'tcx> !RefUnwindSafe for Queries<'tcx>
impl<'tcx> !Send for Queries<'tcx>
impl<'tcx> !Sync for Queries<'tcx>
impl<'tcx> Unpin for Queries<'tcx>
impl<'tcx> !UnwindSafe for Queries<'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 64392 bytes