Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/monomorphization.rs')
-rw-r--r--crates/hir-ty/src/mir/monomorphization.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/crates/hir-ty/src/mir/monomorphization.rs b/crates/hir-ty/src/mir/monomorphization.rs
index 5752a3d7fa..41044f00c2 100644
--- a/crates/hir-ty/src/mir/monomorphization.rs
+++ b/crates/hir-ty/src/mir/monomorphization.rs
@@ -16,7 +16,10 @@ use triomphe::Arc;
use crate::{
ParamEnvAndCrate,
- next_solver::{Const, ConstKind, Region, RegionKind, StoredConst, StoredGenericArgs, StoredTy},
+ next_solver::{
+ Allocation, AllocationData, Const, ConstKind, Region, RegionKind, StoredConst,
+ StoredGenericArgs, StoredTy,
+ },
traits::StoredParamEnvAndCrate,
};
use crate::{
@@ -138,6 +141,18 @@ impl<'db> Filler<'db> {
self.fill_const(konst)?;
self.fill_ty(ty)?;
}
+ OperandKind::Allocation { allocation } => {
+ let alloc = allocation.as_ref();
+ let mut ty = alloc.ty.store();
+ self.fill_ty(&mut ty)?;
+ *allocation = Allocation::new(AllocationData {
+ ty: ty.as_ref(),
+ memory: alloc.memory.clone(),
+ // FIXME: Do we need to fill the memory map too?
+ memory_map: alloc.memory_map.clone(),
+ })
+ .store();
+ }
OperandKind::Copy(_) | OperandKind::Move(_) | OperandKind::Static(_) => (),
}
Ok(())