mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
Some infer/mod.rs
cleanups
This commit is contained in:
parent
5157d938c4
commit
e326777cca
@ -156,7 +156,7 @@ pub struct InferCtxtInner<'tcx> {
|
||||
undo_log: InferCtxtUndoLogs<'tcx>,
|
||||
|
||||
/// Caches for opaque type inference.
|
||||
pub opaque_type_storage: OpaqueTypeStorage<'tcx>,
|
||||
opaque_type_storage: OpaqueTypeStorage<'tcx>,
|
||||
}
|
||||
|
||||
impl<'tcx> InferCtxtInner<'tcx> {
|
||||
@ -195,41 +195,17 @@ impl<'tcx> InferCtxtInner<'tcx> {
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn int_unification_table(
|
||||
&mut self,
|
||||
) -> ut::UnificationTable<
|
||||
ut::InPlace<
|
||||
ty::IntVid,
|
||||
&mut ut::UnificationStorage<ty::IntVid>,
|
||||
&mut InferCtxtUndoLogs<'tcx>,
|
||||
>,
|
||||
> {
|
||||
fn int_unification_table(&mut self) -> UnificationTable<'_, 'tcx, ty::IntVid> {
|
||||
self.int_unification_storage.with_log(&mut self.undo_log)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn float_unification_table(
|
||||
&mut self,
|
||||
) -> ut::UnificationTable<
|
||||
ut::InPlace<
|
||||
ty::FloatVid,
|
||||
&mut ut::UnificationStorage<ty::FloatVid>,
|
||||
&mut InferCtxtUndoLogs<'tcx>,
|
||||
>,
|
||||
> {
|
||||
fn float_unification_table(&mut self) -> UnificationTable<'_, 'tcx, ty::FloatVid> {
|
||||
self.float_unification_storage.with_log(&mut self.undo_log)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn const_unification_table(
|
||||
&mut self,
|
||||
) -> ut::UnificationTable<
|
||||
ut::InPlace<
|
||||
ty::ConstVid<'tcx>,
|
||||
&mut ut::UnificationStorage<ty::ConstVid<'tcx>>,
|
||||
&mut InferCtxtUndoLogs<'tcx>,
|
||||
>,
|
||||
> {
|
||||
fn const_unification_table(&mut self) -> UnificationTable<'_, 'tcx, ty::ConstVid<'tcx>> {
|
||||
self.const_unification_storage.with_log(&mut self.undo_log)
|
||||
}
|
||||
|
||||
@ -1429,17 +1405,14 @@ impl<'tcx> InferCtxt<'tcx> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Attempts to resolve all type/region/const variables in
|
||||
/// `value`. Region inference must have been run already (e.g.,
|
||||
/// by calling `resolve_regions_and_report_errors`). If some
|
||||
/// variable was never unified, an `Err` results.
|
||||
///
|
||||
/// This method is idempotent, but it not typically not invoked
|
||||
/// except during the writeback phase.
|
||||
pub fn fully_resolve<T: TypeFoldable<TyCtxt<'tcx>>>(&self, value: T) -> FixupResult<'tcx, T> {
|
||||
/*!
|
||||
* Attempts to resolve all type/region/const variables in
|
||||
* `value`. Region inference must have been run already (e.g.,
|
||||
* by calling `resolve_regions_and_report_errors`). If some
|
||||
* variable was never unified, an `Err` results.
|
||||
*
|
||||
* This method is idempotent, but it not typically not invoked
|
||||
* except during the writeback phase.
|
||||
*/
|
||||
|
||||
let value = resolve::fully_resolve(self, value);
|
||||
assert!(
|
||||
value.as_ref().map_or(true, |value| !value.needs_infer()),
|
||||
@ -1754,7 +1727,6 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
|
||||
// in this case. The typechecker should only ever report type errors involving mismatched
|
||||
// types using one of these methods, and should not call span_err directly for such
|
||||
// errors.
|
||||
|
||||
pub fn type_error_struct_with_diag<M>(
|
||||
&self,
|
||||
sp: Span,
|
||||
|
Loading…
Reference in New Issue
Block a user