Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir.rs')
-rw-r--r--crates/hir-ty/src/mir.rs27
1 files changed, 14 insertions, 13 deletions
diff --git a/crates/hir-ty/src/mir.rs b/crates/hir-ty/src/mir.rs
index 56c431ef8d..6dc20203e0 100644
--- a/crates/hir-ty/src/mir.rs
+++ b/crates/hir-ty/src/mir.rs
@@ -3,22 +3,22 @@
use std::{collections::hash_map::Entry, fmt::Display, iter};
use crate::{
+ CallableDefId, ClosureId, Const, ConstScalar, InferenceResult, Interner, MemoryMap,
+ Substitution, TraitEnvironment, Ty, TyExt, TyKind,
consteval::usize_const,
db::HirDatabase,
display::{DisplayTarget, HirDisplay},
- infer::{normalize, PointerCast},
+ infer::{PointerCast, normalize},
lang_items::is_box,
mapping::ToChalk,
- CallableDefId, ClosureId, Const, ConstScalar, InferenceResult, Interner, MemoryMap,
- Substitution, TraitEnvironment, Ty, TyExt, TyKind,
};
-use base_db::CrateId;
+use base_db::Crate;
use chalk_ir::Mutability;
use either::Either;
use hir_def::{
+ DefWithBodyId, FieldId, StaticId, TupleFieldId, UnionId, VariantId,
expr_store::Body,
hir::{BindingAnnotation, BindingId, Expr, ExprId, Ordering, PatId},
- DefWithBodyId, FieldId, StaticId, TupleFieldId, UnionId, VariantId,
};
use la_arena::{Arena, ArenaMap, Idx, RawIdx};
@@ -28,21 +28,22 @@ mod lower;
mod monomorphization;
mod pretty;
-pub use borrowck::{borrowck_query, BorrowckResult, MutabilityReason};
+pub use borrowck::{BorrowckResult, MutabilityReason, borrowck_query};
pub use eval::{
- interpret_mir, pad16, render_const_using_debug_impl, Evaluator, MirEvalError, VTableMap,
-};
-pub use lower::{
- lower_to_mir, mir_body_for_closure_query, mir_body_query, mir_body_recover, MirLowerError,
+ Evaluator, MirEvalError, VTableMap, interpret_mir, pad16, render_const_using_debug_impl,
};
+pub use lower::{MirLowerError, lower_to_mir, mir_body_for_closure_query, mir_body_query};
pub use monomorphization::{
monomorphize_mir_body_bad, monomorphized_mir_body_for_closure_query,
- monomorphized_mir_body_query, monomorphized_mir_body_recover,
+ monomorphized_mir_body_query,
};
use rustc_hash::FxHashMap;
-use smallvec::{smallvec, SmallVec};
+use smallvec::{SmallVec, smallvec};
use stdx::{impl_from, never};
+pub(crate) use lower::mir_body_cycle_result;
+pub(crate) use monomorphization::monomorphized_mir_body_cycle_result;
+
use super::consteval::{intern_const_scalar, try_const_usize};
pub type BasicBlockId = Idx<BasicBlock>;
@@ -142,7 +143,7 @@ impl<V, T> ProjectionElem<V, T> {
mut base: Ty,
db: &dyn HirDatabase,
closure_field: impl FnOnce(ClosureId, &Substitution, usize) -> Ty,
- krate: CrateId,
+ krate: Crate,
) -> Ty {
// we only bail on mir building when there are type mismatches
// but error types may pop up resulting in us still attempting to build the mir