File tree 1 file changed +6
-0
lines changed
1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -2227,6 +2227,12 @@ fn write_in_place_with_drop<T>(
2227
2227
#[ rustc_unsafe_specialization_marker]
2228
2228
trait SourceIterMarker : SourceIter < Source : AsIntoIter > { }
2229
2229
2230
+ // The std-internal SourceIter/InPlaceIterable traits are only implemented by chains of
2231
+ // Adapter<Adapter<Adapter<IntoIter>>> (all owned by core/std). Additional bounds
2232
+ // on the adapter implementations (beyond `impl<I: Trait> Trait for Adapter<I>`) only depend on other
2233
+ // traits already marked as specialization traits (Copy, TrustedRandomAccess, FusedIterator).
2234
+ // I.e. the marker does not depend on lifetimes of user-supplied types. Modulo the Copy hole, which
2235
+ // several other specializations already depend on.
2230
2236
impl < T > SourceIterMarker for T where T : SourceIter < Source : AsIntoIter > + InPlaceIterable { }
2231
2237
2232
2238
impl < T , I > SpecFrom < T , I > for Vec < T >
You can’t perform that action at this time.
0 commit comments