@@ -2,7 +2,7 @@ use crate::alloc::{Allocator, Global};
2
2
use crate :: raw_vec:: RawVec ;
3
3
use core:: fmt;
4
4
use core:: intrinsics:: arith_offset;
5
- use core:: iter:: { FusedIterator , InPlaceIterable , SourceIter , TrustedLen , TrustedRandomAccess } ;
5
+ use core:: iter:: { FusedIterator , InPlaceIterable , SourceIter , TrustedLen } ;
6
6
use core:: marker:: PhantomData ;
7
7
use core:: mem:: { self } ;
8
8
use core:: ptr:: { self , NonNull } ;
@@ -162,24 +162,6 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> {
162
162
fn count ( self ) -> usize {
163
163
self . len ( )
164
164
}
165
-
166
- #[ doc( hidden) ]
167
- unsafe fn __iterator_get_unchecked ( & mut self , i : usize ) -> Self :: Item
168
- where
169
- Self : TrustedRandomAccess ,
170
- {
171
- // SAFETY: the caller must guarantee that `i` is in bounds of the
172
- // `Vec<T>`, so `i` cannot overflow an `isize`, and the `self.ptr.add(i)`
173
- // is guaranteed to pointer to an element of the `Vec<T>` and
174
- // thus guaranteed to be valid to dereference.
175
- //
176
- // Also note the implementation of `Self: TrustedRandomAccess` requires
177
- // that `T: Copy` so reading elements from the buffer doesn't invalidate
178
- // them for `Drop`.
179
- unsafe {
180
- if mem:: size_of :: < T > ( ) == 0 { mem:: zeroed ( ) } else { ptr:: read ( self . ptr . add ( i) ) }
181
- }
182
- }
183
165
}
184
166
185
167
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -215,17 +197,6 @@ impl<T, A: Allocator> FusedIterator for IntoIter<T, A> {}
215
197
#[ unstable( feature = "trusted_len" , issue = "37572" ) ]
216
198
unsafe impl < T , A : Allocator > TrustedLen for IntoIter < T , A > { }
217
199
218
- #[ doc( hidden) ]
219
- #[ unstable( issue = "none" , feature = "std_internals" ) ]
220
- // T: Copy as approximation for !Drop since get_unchecked does not advance self.ptr
221
- // and thus we can't implement drop-handling
222
- unsafe impl < T , A : Allocator > TrustedRandomAccess for IntoIter < T , A >
223
- where
224
- T : Copy ,
225
- {
226
- const MAY_HAVE_SIDE_EFFECT : bool = false ;
227
- }
228
-
229
200
#[ cfg( not( no_global_oom_handling) ) ]
230
201
#[ stable( feature = "vec_into_iter_clone" , since = "1.8.0" ) ]
231
202
impl < T : Clone , A : Allocator + Clone > Clone for IntoIter < T , A > {
0 commit comments