diff options
| author | Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> | 2023-04-30 23:05:27 +0200 | 
|---|---|---|
| committer | Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> | 2023-07-01 21:16:25 +0200 | 
| commit | 3019c1cb2a6e3f599fd0d71a7ddc5f2f8b46385c (patch) | |
| tree | c032f8d7aedd19b4b583fd272a7a846dca525ae9 /compiler/rustc_transmute/src/layout/tree.rs | |
| parent | 6162f6f12339aa81fe16b8a64644ead497e411b2 (diff) | |
| download | rust-3019c1cb2a6e3f599fd0d71a7ddc5f2f8b46385c.tar.gz rust-3019c1cb2a6e3f599fd0d71a7ddc5f2f8b46385c.zip  | |
Put `LayoutError` behind reference to shrink result
`LayoutError` is 24 bytes, which is bigger than the `Ok` types, so let's shrink that.
Diffstat (limited to 'compiler/rustc_transmute/src/layout/tree.rs')
| -rw-r--r-- | compiler/rustc_transmute/src/layout/tree.rs | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_transmute/src/layout/tree.rs b/compiler/rustc_transmute/src/layout/tree.rs index 6b718be7b15..be434eb7d00 100644 --- a/compiler/rustc_transmute/src/layout/tree.rs +++ b/compiler/rustc_transmute/src/layout/tree.rs @@ -192,8 +192,8 @@ pub(crate) mod rustc { TypeError(ErrorGuaranteed), } - impl<'tcx> From<LayoutError<'tcx>> for Err { - fn from(err: LayoutError<'tcx>) -> Self { + impl<'tcx> From<&LayoutError<'tcx>> for Err { + fn from(err: &LayoutError<'tcx>) -> Self { match err { LayoutError::Unknown(..) => Self::UnknownLayout, err => unimplemented!("{:?}", err), @@ -221,7 +221,7 @@ pub(crate) mod rustc { } impl LayoutSummary { - fn from_ty<'tcx>(ty: Ty<'tcx>, ctx: TyCtxt<'tcx>) -> Result<Self, LayoutError<'tcx>> { + fn from_ty<'tcx>(ty: Ty<'tcx>, ctx: TyCtxt<'tcx>) -> Result<Self, &'tcx LayoutError<'tcx>> { use rustc_middle::ty::ParamEnvAnd; use rustc_target::abi::{TyAndLayout, Variants}; @@ -482,7 +482,7 @@ pub(crate) mod rustc { fn layout_of<'tcx>( ctx: TyCtxt<'tcx>, ty: Ty<'tcx>, - ) -> Result<alloc::Layout, LayoutError<'tcx>> { + ) -> Result<alloc::Layout, &'tcx LayoutError<'tcx>> { use rustc_middle::ty::ParamEnvAnd; use rustc_target::abi::TyAndLayout;  | 
