From 2b0b2ae9f61c26338dc00c70eee936230b4b75c0 Mon Sep 17 00:00:00 2001 From: The8472 Date: Sat, 23 Nov 2019 14:34:58 +0100 Subject: [PATCH] additional specializations tests --- library/alloc/tests/vec.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/library/alloc/tests/vec.rs b/library/alloc/tests/vec.rs index 271a705cf06..000797d3600 100644 --- a/library/alloc/tests/vec.rs +++ b/library/alloc/tests/vec.rs @@ -785,6 +785,28 @@ fn test_from_iter_specialization() { assert_eq!(srcptr, sinkptr); } +#[test] +fn test_from_iter_partially_drained_in_place_specialization() { + let src: Vec = vec![0usize; 10]; + let srcptr = src.as_ptr(); + let mut iter = src.into_iter(); + iter.next(); + iter.next(); + let sink = iter.collect::>(); + let sinkptr = sink.as_ptr(); + assert_eq!(srcptr, sinkptr); +} + +#[test] +fn test_extend_in_place_specialization() { + let src: Vec = vec![0usize; 1]; + let srcptr = src.as_ptr(); + let mut dst = Vec::new(); + dst.extend(src.into_iter()); + let dstptr = dst.as_ptr(); + assert_eq!(srcptr, dstptr); +} + #[test] fn test_from_iter_specialization_with_iterator_adapters() { fn assert_in_place_trait(_: &T) {};