From 439f63019fccbbdcc00074856f67ce6af2abcac2 Mon Sep 17 00:00:00 2001 From: The 8472 Date: Sat, 29 Apr 2023 15:53:26 +0200 Subject: support in-place collecting additional FlatMap shapes --- library/alloc/tests/vec.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'library/alloc/tests') diff --git a/library/alloc/tests/vec.rs b/library/alloc/tests/vec.rs index 33dd2658e1e..c545f47a5d1 100644 --- a/library/alloc/tests/vec.rs +++ b/library/alloc/tests/vec.rs @@ -1212,6 +1212,17 @@ fn test_in_place_specialization_step_up_down() { let sink_bytes = sink.capacity() * 4; assert_ne!(src_bytes, sink_bytes); assert_eq!(sink.len(), 2); + + let src = vec![[0u8; 4]; 256]; + let srcptr = src.as_ptr(); + let iter = src + .into_iter() + .flat_map(|a| { + a.into_iter().map(|b| b.wrapping_add(1)) + }); + assert_in_place_trait(&iter); + let sink = iter.collect::>(); + assert_eq!(srcptr as *const u8, sink.as_ptr()); } #[test] -- cgit 1.4.1-3-g733a5