Skip to content

Commit c22d91b

Browse files
rustdoc: Add Layout::is_uninhabited and use Layout fns
1 parent 1d7daa2 commit c22d91b

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

compiler/rustc_abi/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,6 +1666,11 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutS<FieldIdx, VariantIdx> {
16661666
}
16671667
}
16681668

1669+
/// Returns `true` if this is sized
1670+
pub fn is_uninhabited(&self) -> bool {
1671+
self.ir_form.is_uninhabited()
1672+
}
1673+
16691674
pub fn scalar<C: HasDataLayout>(cx: &C, scalar: Scalar) -> Self {
16701675
let largest_niche = Niche::from_scalar(cx, Size::ZERO, scalar);
16711676
let size = scalar.size(cx);

src/librustdoc/html/render/type_layout.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ pub(crate) fn document_type_layout<'a, 'cx: 'a>(
6060
span_bug!(tcx.def_span(ty_def_id), "not an adt")
6161
};
6262
let name = adt.variant(variant_idx).name;
63-
let is_unsized = variant_layout.abi.is_unsized();
64-
let is_uninhabited = variant_layout.abi.is_uninhabited();
63+
let is_unsized = variant_layout.is_unsized();
64+
let is_uninhabited = variant_layout.is_uninhabited();
6565
let size = variant_layout.size.bytes() - tag_size;
6666
let type_layout_size = TypeLayoutSize { is_unsized, is_uninhabited, size };
6767
(name, type_layout_size)
@@ -72,8 +72,8 @@ pub(crate) fn document_type_layout<'a, 'cx: 'a>(
7272
};
7373

7474
let type_layout_size = tcx.layout_of(param_env.and(ty)).map(|layout| {
75-
let is_unsized = layout.abi.is_unsized();
76-
let is_uninhabited = layout.abi.is_uninhabited();
75+
let is_unsized = layout.ir_form.is_unsized();
76+
let is_uninhabited = layout.ir_form.is_uninhabited();
7777
let size = layout.size.bytes();
7878
TypeLayoutSize { is_unsized, is_uninhabited, size }
7979
});

0 commit comments

Comments
 (0)