Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/layout.rs')
-rw-r--r--crates/hir-ty/src/layout.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/hir-ty/src/layout.rs b/crates/hir-ty/src/layout.rs
index 2b0a93e61d..ed4775539a 100644
--- a/crates/hir-ty/src/layout.rs
+++ b/crates/hir-ty/src/layout.rs
@@ -148,7 +148,7 @@ fn layout_of_simd_ty<'db>(
let mut fields = fields.iter();
let Some(TyKind::Array(e_ty, e_len)) =
fields.next().filter(|_| fields.next().is_none()).map(|f| {
- (*f.1).get().instantiate(DbInterner::new_no_crate(db), args).skip_norm_wip().kind()
+ (*f.1).ty().instantiate(DbInterner::new_no_crate(db), args).skip_norm_wip().kind()
})
else {
return Err(LayoutError::InvalidSimdType);
@@ -418,17 +418,15 @@ pub fn layout_of_ty_query(
.iter()
.map(|pat| match pat.kind() {
PatternKind::Range { start, end } => Ok::<_, LayoutError>((
- extract_const_value(start)
- .unwrap()
+ extract_const_value(start)?
.try_to_bits(db, trait_env.as_ref())
.ok_or(LayoutError::Unknown)?,
- extract_const_value(end)
- .unwrap()
+ extract_const_value(end)?
.try_to_bits(db, trait_env.as_ref())
.ok_or(LayoutError::Unknown)?,
)),
PatternKind::NotNull | PatternKind::Or(_) => {
- unreachable!("mixed or patterns are not allowed")
+ Err(LayoutError::Unknown)
}
})
.collect();
@@ -567,7 +565,7 @@ fn field_ty<'a>(
fd: LocalFieldId,
args: GenericArgs<'a>,
) -> Ty<'a> {
- db.field_types(def)[fd].get().instantiate(DbInterner::new_no_crate(db), args).skip_norm_wip()
+ db.field_types(def)[fd].ty().instantiate(DbInterner::new_no_crate(db), args).skip_norm_wip()
}
fn scalar_unit(dl: &TargetDataLayout, value: Primitive) -> Scalar {