Trait TypeInformationCtxt

Source
pub trait TypeInformationCtxt<'tcx> {
    type TypeckResults<'a>: Deref<Target = TypeckResults<'tcx>>
       where Self: 'a;
    type Error;

    // Required methods
    fn typeck_results(&self) -> Self::TypeckResults<'_>;
    fn resolve_vars_if_possible<T: TypeFoldable<TyCtxt<'tcx>>>(&self, t: T) -> T;
    fn try_structurally_resolve_type(
        &self,
        span: Span,
        ty: Ty<'tcx>,
    ) -> Ty<'tcx>;
    fn report_error(&self, span: Span, msg: impl ToString) -> Self::Error;
    fn error_reported_in_ty(&self, ty: Ty<'tcx>) -> Result<(), Self::Error>;
    fn tainted_by_errors(&self) -> Result<(), Self::Error>;
    fn type_is_copy_modulo_regions(&self, ty: Ty<'tcx>) -> bool;
    fn body_owner_def_id(&self) -> LocalDefId;
    fn tcx(&self) -> TyCtxt<'tcx>;
}

Required Associated Types§

Source

type TypeckResults<'a>: Deref<Target = TypeckResults<'tcx>> where Self: 'a

Source

type Error

Required Methods§

Source

fn typeck_results(&self) -> Self::TypeckResults<'_>

Source

fn resolve_vars_if_possible<T: TypeFoldable<TyCtxt<'tcx>>>(&self, t: T) -> T

Source

fn try_structurally_resolve_type(&self, span: Span, ty: Ty<'tcx>) -> Ty<'tcx>

Source

fn report_error(&self, span: Span, msg: impl ToString) -> Self::Error

Source

fn error_reported_in_ty(&self, ty: Ty<'tcx>) -> Result<(), Self::Error>

Source

fn tainted_by_errors(&self) -> Result<(), Self::Error>

Source

fn type_is_copy_modulo_regions(&self, ty: Ty<'tcx>) -> bool

Source

fn body_owner_def_id(&self) -> LocalDefId

Source

fn tcx(&self) -> TyCtxt<'tcx>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'tcx> TypeInformationCtxt<'tcx> for (&LateContext<'tcx>, LocalDefId)

Source§

type TypeckResults<'a> = &'tcx TypeckResults<'tcx> where Self: 'a

Source§

type Error = !

Source§

fn typeck_results(&self) -> Self::TypeckResults<'_>

Source§

fn try_structurally_resolve_type(&self, _span: Span, ty: Ty<'tcx>) -> Ty<'tcx>

Source§

fn resolve_vars_if_possible<T: TypeFoldable<TyCtxt<'tcx>>>(&self, t: T) -> T

Source§

fn report_error(&self, span: Span, msg: impl ToString) -> !

Source§

fn error_reported_in_ty(&self, _ty: Ty<'tcx>) -> Result<(), !>

Source§

fn tainted_by_errors(&self) -> Result<(), !>

Source§

fn type_is_copy_modulo_regions(&self, ty: Ty<'tcx>) -> bool

Source§

fn body_owner_def_id(&self) -> LocalDefId

Source§

fn tcx(&self) -> TyCtxt<'tcx>

Implementors§

Source§

impl<'tcx> TypeInformationCtxt<'tcx> for &FnCtxt<'_, 'tcx>

Source§

type TypeckResults<'a> = Ref<'a, TypeckResults<'tcx>> where Self: 'a

Source§

type Error = ErrorGuaranteed