diff options
| author | Daan de Graaf <daandegraaf9@gmail.com> | 2018-12-28 12:52:31 +0100 |
|---|---|---|
| committer | Saleem Jaffer <ssaleem1992@gmail.com> | 2019-05-04 15:17:26 +0530 |
| commit | ed716d4c8960bb5e5127375ac023c698613b27bd (patch) | |
| tree | b5e8c8cd9d294e1a6df2da024d252512e175a454 | |
| parent | e395026aba4d0739ec06264dabb97a614ec8d0dc (diff) | |
| download | rust-ed716d4c8960bb5e5127375ac023c698613b27bd.tar.gz rust-ed716d4c8960bb5e5127375ac023c698613b27bd.zip | |
Return instead of collecting to mut result.
| -rw-r--r-- | src/librustc/ty/layout.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/librustc/ty/layout.rs b/src/librustc/ty/layout.rs index c05e0aaf3ba..472747a7170 100644 --- a/src/librustc/ty/layout.rs +++ b/src/librustc/ty/layout.rs @@ -1833,17 +1833,19 @@ impl<'a, 'tcx, C> TyLayoutMethods<'tcx, C> for Ty<'tcx> }) } - fn pointee_info_at(this: TyLayout<'tcx>, cx: &C, offset: Size + fn pointee_info_at( + this: TyLayout<'tcx>, + cx: &C, + offset: Size, ) -> Option<PointeeInfo> { - let mut result = None; match this.ty.sty { ty::RawPtr(mt) if offset.bytes() == 0 => { - result = cx.layout_of(mt.ty).ok() + cx.layout_of(mt.ty).ok() .map(|layout| PointeeInfo { size: layout.size, align: layout.align.abi, safe: None, - }); + }) } ty::Ref(_, ty, mt) if offset.bytes() == 0 => { @@ -1877,12 +1879,12 @@ impl<'a, 'tcx, C> TyLayoutMethods<'tcx, C> for Ty<'tcx> } }; - result = cx.layout_of(ty).ok() + cx.layout_of(ty).ok() .map(|layout| PointeeInfo { size: layout.size, align: layout.align.abi, safe: Some(kind), - }); + }) } _ => { @@ -1915,6 +1917,8 @@ impl<'a, 'tcx, C> TyLayoutMethods<'tcx, C> for Ty<'tcx> } } + let mut result = None; + if let Some(variant) = data_variant { let ptr_end = offset + Pointer.size(cx); for i in 0..variant.fields.count() { @@ -1945,10 +1949,10 @@ impl<'a, 'tcx, C> TyLayoutMethods<'tcx, C> for Ty<'tcx> } } } + + result } } - - result } } |
