diff options
Diffstat (limited to 'src/librustc_data_structures/array_vec.rs')
| -rw-r--r-- | src/librustc_data_structures/array_vec.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/librustc_data_structures/array_vec.rs b/src/librustc_data_structures/array_vec.rs index c107b4a539a..57fc78ef531 100644 --- a/src/librustc_data_structures/array_vec.rs +++ b/src/librustc_data_structures/array_vec.rs @@ -138,7 +138,7 @@ impl<A: Array> ArrayVec<A> { // Use the borrow in the IterMut to indicate borrowing behavior of the // whole Drain iterator (like &mut T). let range_slice = { - let arr = &mut self.values as &mut [ManuallyDrop<_>]; + let arr = &mut self.values as &mut [ManuallyDrop<<A as Array>::Element>]; slice::from_raw_parts_mut(arr.as_mut_ptr().offset(start as isize), end - start) }; @@ -260,7 +260,8 @@ impl<'a, A: Array> Drop for Drain<'a, A> { let start = source_array_vec.len(); let tail = self.tail_start; { - let arr = &mut source_array_vec.values as &mut [ManuallyDrop<_>]; + let arr = + &mut source_array_vec.values as &mut [ManuallyDrop<<A as Array>::Element>]; let src = arr.as_ptr().offset(tail as isize); let dst = arr.as_mut_ptr().offset(start as isize); ptr::copy(src, dst, self.tail_len); |
