@@ -242,11 +242,33 @@ peeking_next_by_clone! { ['a] ::std::str::Bytes<'a> }
242242peeking_next_by_clone ! { [ ' a, T ] :: std:: option:: Iter <' a, T > }
243243peeking_next_by_clone ! { [ ' a, T ] :: std:: result:: Iter <' a, T > }
244244peeking_next_by_clone ! { [ T ] :: std:: iter:: Empty <T > }
245+
245246#[ cfg( feature = "use_alloc" ) ]
246247peeking_next_by_clone ! { [ ' a, T ] alloc:: collections:: linked_list:: Iter <' a, T > }
247248#[ cfg( feature = "use_alloc" ) ]
248249peeking_next_by_clone ! { [ ' a, T ] alloc:: collections:: vec_deque:: Iter <' a, T > }
249250
251+ #[ cfg( feature = "use_alloc" ) ]
252+ peeking_next_by_clone ! { [ ' a, K , V ] alloc:: collections:: btree_map:: Iter <' a, K , V > }
253+ #[ cfg( feature = "use_alloc" ) ]
254+ peeking_next_by_clone ! { [ ' a, K , V ] alloc:: collections:: btree_map:: Keys <' a, K , V > }
255+ #[ cfg( feature = "use_alloc" ) ]
256+ peeking_next_by_clone ! { [ ' a, K , V ] alloc:: collections:: btree_map:: Values <' a, K , V > }
257+
258+ #[ cfg( feature = "use_alloc" ) ]
259+ peeking_next_by_clone ! { [ ' a, T ] alloc:: collections:: btree_set:: Iter <' a, T > }
260+ #[ cfg( feature = "use_alloc" ) ]
261+ peeking_next_by_clone ! { [ ' a, T ] alloc:: collections:: binary_heap:: Iter <' a, T > }
262+
263+ #[ cfg( feature = "use_std" ) ]
264+ peeking_next_by_clone ! { [ ' a, K , V ] std:: collections:: hash_map:: Iter <' a, K , V > }
265+ #[ cfg( feature = "use_std" ) ]
266+ peeking_next_by_clone ! { [ ' a, K , V ] std:: collections:: hash_map:: Keys <' a, K , V > }
267+ #[ cfg( feature = "use_std" ) ]
268+ peeking_next_by_clone ! { [ ' a, K , V ] std:: collections:: hash_map:: Values <' a, K , V > }
269+ #[ cfg( feature = "use_std" ) ]
270+ peeking_next_by_clone ! { [ ' a, T ] std:: collections:: hash_set:: Iter <' a, T > }
271+
250272// cloning a Rev has no extra overhead; peekable and put backs are never DEI.
251273peeking_next_by_clone ! { [ I : Clone + PeekingNext + DoubleEndedIterator ]
252274:: std:: iter:: Rev <I > }
0 commit comments