diff options
| author | The 8472 <git@infinite-source.de> | 2023-04-29 15:53:26 +0200 |
|---|---|---|
| committer | The 8472 <git@infinite-source.de> | 2023-09-03 19:59:47 +0200 |
| commit | 439f63019fccbbdcc00074856f67ce6af2abcac2 (patch) | |
| tree | 7034b97da8119fc41ba1a4fa966870e2f9e18425 /library/alloc/tests | |
| parent | 7047fb41b6567a43bb2239035c114084807845f6 (diff) | |
| download | rust-439f63019fccbbdcc00074856f67ce6af2abcac2.tar.gz rust-439f63019fccbbdcc00074856f67ce6af2abcac2.zip | |
support in-place collecting additional FlatMap shapes
Diffstat (limited to 'library/alloc/tests')
| -rw-r--r-- | library/alloc/tests/vec.rs | 11 |
1 files changed, 11 insertions, 0 deletions
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::<Vec<_>>(); + assert_eq!(srcptr as *const u8, sink.as_ptr()); } #[test] |
