Skip to content

Commit 1e1dd96

Browse files
JOE1994Gankra
authored andcommitted
Update implementation code of split_at_mut
1 parent 0559f27 commit 1e1dd96

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/borrow-splitting.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,15 @@ the implementation requires some unsafety:
6666
# impl<T> FakeSlice<T> {
6767
# fn len(&self) -> usize { unimplemented!() }
6868
# fn as_mut_ptr(&mut self) -> *mut T { unimplemented!() }
69-
fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]) {
69+
pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]) {
7070
let len = self.len();
7171
let ptr = self.as_mut_ptr();
72-
assert!(mid <= len);
72+
7373
unsafe {
74+
assert!(mid <= len);
75+
7476
(from_raw_parts_mut(ptr, mid),
75-
from_raw_parts_mut(ptr.offset(mid as isize), len - mid))
77+
from_raw_parts_mut(ptr.add(mid), len - mid))
7678
}
7779
}
7880
# }

0 commit comments

Comments
 (0)