Merge branch 'master' into master
This commit is contained in:
@@ -55,6 +55,7 @@ fn test_drop() {
|
||||
|
||||
let flag = &Cell::new(0);
|
||||
|
||||
#[derive(Clone)]
|
||||
struct Bump<'a>(&'a Cell<i32>);
|
||||
|
||||
impl<'a> Drop for Bump<'a> {
|
||||
@@ -105,6 +106,24 @@ fn test_drop() {
|
||||
assert_eq!(flag.get(), 3);
|
||||
}
|
||||
|
||||
// test cloning into_iter
|
||||
flag.set(0);
|
||||
{
|
||||
let mut array = ArrayVec::<[_; 3]>::new();
|
||||
array.push(Bump(flag));
|
||||
array.push(Bump(flag));
|
||||
array.push(Bump(flag));
|
||||
let mut iter = array.into_iter();
|
||||
assert_eq!(flag.get(), 0);
|
||||
iter.next();
|
||||
assert_eq!(flag.get(), 1);
|
||||
let clone = iter.clone();
|
||||
assert_eq!(flag.get(), 1);
|
||||
drop(clone);
|
||||
assert_eq!(flag.get(), 3);
|
||||
drop(iter);
|
||||
assert_eq!(flag.get(), 5);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -471,3 +490,18 @@ fn test_default() {
|
||||
assert_eq!(s.len(), 0);
|
||||
assert_eq!(v.len(), 0);
|
||||
}
|
||||
|
||||
#[cfg(feature="array-sizes-33-128")]
|
||||
#[test]
|
||||
fn test_sizes_33_128() {
|
||||
ArrayVec::from([0u8; 52]);
|
||||
ArrayVec::from([0u8; 127]);
|
||||
}
|
||||
|
||||
#[cfg(feature="array-sizes-129-255")]
|
||||
#[test]
|
||||
fn test_sizes_129_255() {
|
||||
ArrayVec::from([0u8; 237]);
|
||||
ArrayVec::from([0u8; 255]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user