diff options
| author | Ralf Jung <post@ralfj.de> | 2018-08-02 16:51:54 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2018-08-02 17:32:24 +0200 |
| commit | 6fb97a6c86e792552d330c7ab9db6f39ba28efb1 (patch) | |
| tree | ad838923aca82e197b1334616e5c221b03aeaee5 /src/libcore/slice | |
| parent | 7b24d2bb351efeea9c0109d8a662b1038fe8f539 (diff) | |
| download | rust-6fb97a6c86e792552d330c7ab9db6f39ba28efb1.tar.gz rust-6fb97a6c86e792552d330c7ab9db6f39ba28efb1.zip | |
test that align_of handles alignment properly for the mid part
Diffstat (limited to 'src/libcore/slice')
| -rw-r--r-- | src/libcore/slice/mod.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libcore/slice/mod.rs b/src/libcore/slice/mod.rs index eeb171ebb9b..f9de78c6cdf 100644 --- a/src/libcore/slice/mod.rs +++ b/src/libcore/slice/mod.rs @@ -1785,6 +1785,7 @@ impl<T> [T] { return (self, &[], &[]); } else { let (left, rest) = self.split_at(offset); + // now `rest` is definitely aligned, so `from_raw_parts_mut` below is okay let (us_len, ts_len) = rest.align_to_offsets::<U>(); return (left, from_raw_parts(rest.as_ptr() as *const U, us_len), @@ -1837,6 +1838,7 @@ impl<T> [T] { return (self, &mut [], &mut []); } else { let (left, rest) = self.split_at_mut(offset); + // now `rest` is definitely aligned, so `from_raw_parts_mut` below is okay let (us_len, ts_len) = rest.align_to_offsets::<U>(); let mut_ptr = rest.as_mut_ptr(); return (left, |
