pub(crate) struct AfterSortck<'a, 'genv, 'tcx> {
genv: GlobalEnv<'genv, 'tcx>,
wfckresults: &'a WfckResults,
next_sort_index: u32,
next_type_index: u32,
next_region_index: u32,
next_const_index: u32,
}
Fields§
§genv: GlobalEnv<'genv, 'tcx>
§wfckresults: &'a WfckResults
§next_sort_index: u32
§next_type_index: u32
§next_region_index: u32
§next_const_index: u32
Implementations§
Source§impl<'a, 'genv, 'tcx> AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> AfterSortck<'a, 'genv, 'tcx>
pub(crate) fn new( genv: GlobalEnv<'genv, 'tcx>, wfckresults: &'a WfckResults, ) -> Self
Trait Implementations§
Source§impl<'genv, 'tcx> ConvPhase<'genv, 'tcx> for AfterSortck<'_, 'genv, 'tcx>
impl<'genv, 'tcx> ConvPhase<'genv, 'tcx> for AfterSortck<'_, 'genv, 'tcx>
Source§const EXPAND_TYPE_ALIASES: bool = true
const EXPAND_TYPE_ALIASES: bool = true
Whether to expand type aliases or to generate a weak
rty::AliasTy
.Source§const HAS_ELABORATED_INFORMATION: bool = true
const HAS_ELABORATED_INFORMATION: bool = true
Whether we have elaborated information or not (in the first phase we will not, but in the
second we will).
type Results = WfckResults
fn genv(&self) -> GlobalEnv<'genv, 'tcx>
fn owner(&self) -> FluxOwnerId
fn next_sort_vid(&mut self) -> SortVid
fn next_type_vid(&mut self) -> TyVid
fn next_region_vid(&mut self) -> RegionVid
fn next_const_vid(&mut self) -> ConstVid
fn results(&self) -> &Self::Results
Source§fn insert_bty_sort(&mut self, _: FhirId, _: Sort)
fn insert_bty_sort(&mut self, _: FhirId, _: Sort)
Called after converting an indexed type
b[e]
with the fhir_id
and sort of b
. Used
during the first phase to collect the sort of base types.Source§fn insert_alias_reft_sort(&mut self, _: FhirId, _: FuncSort)
fn insert_alias_reft_sort(&mut self, _: FhirId, _: FuncSort)
Called after converting an
fhir::ExprKind::Alias
with the sort of the resulting
rty::AliasReft
. Used during the first phase to collect the sorts of refinement aliases.fn into_conv_ctxt(self) -> ConvCtxt<Self>
fn as_conv_ctxt(&mut self) -> &mut ConvCtxt<Self>
Auto Trait Implementations§
impl<'a, 'genv, 'tcx> Freeze for AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> !RefUnwindSafe for AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> !Send for AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> !Sync for AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> Unpin for AfterSortck<'a, 'genv, 'tcx>
impl<'a, 'genv, 'tcx> !UnwindSafe for AfterSortck<'a, 'genv, '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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more