mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
rust-analyzer: rustc_abi::Abi
=> BackendRepr
This commit is contained in:
parent
404d887f49
commit
92faf55954
1 changed files with 11 additions and 11 deletions
|
@ -6,7 +6,7 @@ use base_db::ra_salsa::Cycle;
|
||||||
use chalk_ir::{AdtId, FloatTy, IntTy, TyKind, UintTy};
|
use chalk_ir::{AdtId, FloatTy, IntTy, TyKind, UintTy};
|
||||||
use hir_def::{
|
use hir_def::{
|
||||||
layout::{
|
layout::{
|
||||||
Abi, FieldsShape, Float, Integer, LayoutCalculator, LayoutCalculatorError, LayoutData,
|
BackendRepr, FieldsShape, Float, Integer, LayoutCalculator, LayoutCalculatorError, LayoutData,
|
||||||
Primitive, ReprOptions, Scalar, Size, StructKind, TargetDataLayout, WrappingRange,
|
Primitive, ReprOptions, Scalar, Size, StructKind, TargetDataLayout, WrappingRange,
|
||||||
},
|
},
|
||||||
LocalFieldId, StructId,
|
LocalFieldId, StructId,
|
||||||
|
@ -168,7 +168,7 @@ fn layout_of_simd_ty(
|
||||||
|
|
||||||
// Compute the ABI of the element type:
|
// Compute the ABI of the element type:
|
||||||
let e_ly = db.layout_of_ty(e_ty, env)?;
|
let e_ly = db.layout_of_ty(e_ty, env)?;
|
||||||
let Abi::Scalar(e_abi) = e_ly.abi else {
|
let BackendRepr::Scalar(e_abi) = e_ly.backend_repr else {
|
||||||
return Err(LayoutError::Unknown);
|
return Err(LayoutError::Unknown);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ fn layout_of_simd_ty(
|
||||||
Ok(Arc::new(Layout {
|
Ok(Arc::new(Layout {
|
||||||
variants: Variants::Single { index: struct_variant_idx() },
|
variants: Variants::Single { index: struct_variant_idx() },
|
||||||
fields,
|
fields,
|
||||||
abi: Abi::Vector { element: e_abi, count: e_len },
|
backend_repr: BackendRepr::Vector { element: e_abi, count: e_len },
|
||||||
largest_niche: e_ly.largest_niche,
|
largest_niche: e_ly.largest_niche,
|
||||||
size,
|
size,
|
||||||
align,
|
align,
|
||||||
|
@ -294,10 +294,10 @@ pub fn layout_of_ty_query(
|
||||||
.checked_mul(count, dl)
|
.checked_mul(count, dl)
|
||||||
.ok_or(LayoutError::BadCalc(LayoutCalculatorError::SizeOverflow))?;
|
.ok_or(LayoutError::BadCalc(LayoutCalculatorError::SizeOverflow))?;
|
||||||
|
|
||||||
let abi = if count != 0 && matches!(element.abi, Abi::Uninhabited) {
|
let backend_repr = if count != 0 && matches!(element.backend_repr, BackendRepr::Uninhabited) {
|
||||||
Abi::Uninhabited
|
BackendRepr::Uninhabited
|
||||||
} else {
|
} else {
|
||||||
Abi::Aggregate { sized: true }
|
BackendRepr::Memory { sized: true }
|
||||||
};
|
};
|
||||||
|
|
||||||
let largest_niche = if count != 0 { element.largest_niche } else { None };
|
let largest_niche = if count != 0 { element.largest_niche } else { None };
|
||||||
|
@ -305,7 +305,7 @@ pub fn layout_of_ty_query(
|
||||||
Layout {
|
Layout {
|
||||||
variants: Variants::Single { index: struct_variant_idx() },
|
variants: Variants::Single { index: struct_variant_idx() },
|
||||||
fields: FieldsShape::Array { stride: element.size, count },
|
fields: FieldsShape::Array { stride: element.size, count },
|
||||||
abi,
|
backend_repr,
|
||||||
largest_niche,
|
largest_niche,
|
||||||
align: element.align,
|
align: element.align,
|
||||||
size,
|
size,
|
||||||
|
@ -318,7 +318,7 @@ pub fn layout_of_ty_query(
|
||||||
Layout {
|
Layout {
|
||||||
variants: Variants::Single { index: struct_variant_idx() },
|
variants: Variants::Single { index: struct_variant_idx() },
|
||||||
fields: FieldsShape::Array { stride: element.size, count: 0 },
|
fields: FieldsShape::Array { stride: element.size, count: 0 },
|
||||||
abi: Abi::Aggregate { sized: false },
|
backend_repr: BackendRepr::Memory { sized: false },
|
||||||
largest_niche: None,
|
largest_niche: None,
|
||||||
align: element.align,
|
align: element.align,
|
||||||
size: Size::ZERO,
|
size: Size::ZERO,
|
||||||
|
@ -329,7 +329,7 @@ pub fn layout_of_ty_query(
|
||||||
TyKind::Str => Layout {
|
TyKind::Str => Layout {
|
||||||
variants: Variants::Single { index: struct_variant_idx() },
|
variants: Variants::Single { index: struct_variant_idx() },
|
||||||
fields: FieldsShape::Array { stride: Size::from_bytes(1), count: 0 },
|
fields: FieldsShape::Array { stride: Size::from_bytes(1), count: 0 },
|
||||||
abi: Abi::Aggregate { sized: false },
|
backend_repr: BackendRepr::Memory { sized: false },
|
||||||
largest_niche: None,
|
largest_niche: None,
|
||||||
align: dl.i8_align,
|
align: dl.i8_align,
|
||||||
size: Size::ZERO,
|
size: Size::ZERO,
|
||||||
|
@ -379,8 +379,8 @@ pub fn layout_of_ty_query(
|
||||||
TyKind::Never => cx.calc.layout_of_never_type(),
|
TyKind::Never => cx.calc.layout_of_never_type(),
|
||||||
TyKind::Dyn(_) | TyKind::Foreign(_) => {
|
TyKind::Dyn(_) | TyKind::Foreign(_) => {
|
||||||
let mut unit = layout_of_unit(&cx)?;
|
let mut unit = layout_of_unit(&cx)?;
|
||||||
match &mut unit.abi {
|
match &mut unit.backend_repr {
|
||||||
Abi::Aggregate { sized } => *sized = false,
|
BackendRepr::Memory { sized } => *sized = false,
|
||||||
_ => return Err(LayoutError::Unknown),
|
_ => return Err(LayoutError::Unknown),
|
||||||
}
|
}
|
||||||
unit
|
unit
|
||||||
|
|
Loading…
Reference in a new issue