mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Remove BackendRepr::Uninhabited
, replaced with an uninhabited: bool
field in LayoutData
.
Also update comments that refered to BackendRepr::Uninhabited.
This commit is contained in:
parent
99beae85a5
commit
8aba4e6dcb
@ -194,6 +194,7 @@ fn layout_of_simd_ty(
|
|||||||
fields,
|
fields,
|
||||||
backend_repr: BackendRepr::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,
|
||||||
|
uninhabited: false,
|
||||||
size,
|
size,
|
||||||
align,
|
align,
|
||||||
max_repr_align: None,
|
max_repr_align: None,
|
||||||
@ -297,20 +298,17 @@ 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 backend_repr =
|
let backend_repr = BackendRepr::Memory { sized: true };
|
||||||
if count != 0 && matches!(element.backend_repr, BackendRepr::Uninhabited) {
|
|
||||||
BackendRepr::Uninhabited
|
|
||||||
} else {
|
|
||||||
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 };
|
||||||
|
let uninhabited = if count != 0 { element.uninhabited } else { false };
|
||||||
|
|
||||||
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 },
|
||||||
backend_repr,
|
backend_repr,
|
||||||
largest_niche,
|
largest_niche,
|
||||||
|
uninhabited,
|
||||||
align: element.align,
|
align: element.align,
|
||||||
size,
|
size,
|
||||||
max_repr_align: None,
|
max_repr_align: None,
|
||||||
@ -325,6 +323,7 @@ pub fn layout_of_ty_query(
|
|||||||
fields: FieldsShape::Array { stride: element.size, count: 0 },
|
fields: FieldsShape::Array { stride: element.size, count: 0 },
|
||||||
backend_repr: BackendRepr::Memory { sized: false },
|
backend_repr: BackendRepr::Memory { sized: false },
|
||||||
largest_niche: None,
|
largest_niche: None,
|
||||||
|
uninhabited: false,
|
||||||
align: element.align,
|
align: element.align,
|
||||||
size: Size::ZERO,
|
size: Size::ZERO,
|
||||||
max_repr_align: None,
|
max_repr_align: None,
|
||||||
@ -337,6 +336,7 @@ pub fn layout_of_ty_query(
|
|||||||
fields: FieldsShape::Array { stride: Size::from_bytes(1), count: 0 },
|
fields: FieldsShape::Array { stride: Size::from_bytes(1), count: 0 },
|
||||||
backend_repr: BackendRepr::Memory { sized: false },
|
backend_repr: BackendRepr::Memory { sized: false },
|
||||||
largest_niche: None,
|
largest_niche: None,
|
||||||
|
uninhabited: false,
|
||||||
align: dl.i8_align,
|
align: dl.i8_align,
|
||||||
size: Size::ZERO,
|
size: Size::ZERO,
|
||||||
max_repr_align: None,
|
max_repr_align: None,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user