@@ -26,9 +26,6 @@ extern crate alloc;
26
26
#[ cfg( not( feature = "std" ) ) ]
27
27
use alloc:: Vec ;
28
28
29
- #[ cfg( feature="heapsizeof" ) ]
30
- extern crate heapsize;
31
-
32
29
#[ cfg( feature = "serde" ) ]
33
30
extern crate serde;
34
31
@@ -48,17 +45,13 @@ use std::ptr;
48
45
use std:: slice;
49
46
#[ cfg( feature = "std" ) ]
50
47
use std:: io;
51
- #[ cfg( feature="heapsizeof" ) ]
52
- use std:: os:: raw:: c_void;
53
48
#[ cfg( feature = "serde" ) ]
54
49
use serde:: ser:: { Serialize , Serializer , SerializeSeq } ;
55
50
#[ cfg( feature = "serde" ) ]
56
51
use serde:: de:: { Deserialize , Deserializer , SeqAccess , Visitor } ;
57
52
#[ cfg( feature = "serde" ) ]
58
53
use std:: marker:: PhantomData ;
59
54
60
- #[ cfg( feature="heapsizeof" ) ]
61
- use heapsize:: { HeapSizeOf , heap_size_of} ;
62
55
use SmallVecData :: { Inline , Heap } ;
63
56
64
57
/// Common operations implemented by both `Vec` and `SmallVec`.
@@ -688,20 +681,6 @@ impl<A: Array> SmallVec<A> where A::Item: Copy {
688
681
}
689
682
}
690
683
691
- #[ cfg( feature="heapsizeof" ) ]
692
- impl < A : Array > HeapSizeOf for SmallVec < A > where A :: Item : HeapSizeOf {
693
- fn heap_size_of_children ( & self ) -> usize {
694
- match self . data {
695
- Inline { .. } => 0 ,
696
- Heap { ptr, .. } => {
697
- self . iter ( ) . fold (
698
- unsafe { heap_size_of ( ptr as * const c_void ) } ,
699
- |n, elem| n + elem. heap_size_of_children ( ) )
700
- } ,
701
- }
702
- }
703
- }
704
-
705
684
impl < A : Array > ops:: Deref for SmallVec < A > {
706
685
type Target = [ A :: Item ] ;
707
686
#[ inline]
@@ -1134,11 +1113,6 @@ pub mod tests {
1134
1113
#[ cfg( not( feature = "std" ) ) ]
1135
1114
use alloc:: vec:: Vec ;
1136
1115
1137
- #[ cfg( feature="heapsizeof" ) ]
1138
- use heapsize:: HeapSizeOf ;
1139
- #[ cfg( feature="heapsizeof" ) ]
1140
- use std:: mem:: size_of;
1141
-
1142
1116
// We heap allocate all these strings so that double frees will show up under valgrind.
1143
1117
1144
1118
#[ test]
@@ -1599,30 +1573,6 @@ pub mod tests {
1599
1573
assert_eq ! ( & SmallVec :: <[ u32 ; 2 ] >:: from_slice( & [ 1 , 2 , 3 ] [ ..] ) [ ..] , [ 1 , 2 , 3 ] ) ;
1600
1574
}
1601
1575
1602
- #[ cfg( feature="heapsizeof" ) ]
1603
- #[ test]
1604
- fn test_heap_size_of_children ( ) {
1605
- let mut vec = SmallVec :: < [ u32 ; 2 ] > :: new ( ) ;
1606
- assert_eq ! ( vec. heap_size_of_children( ) , 0 ) ;
1607
- vec. push ( 1 ) ;
1608
- vec. push ( 2 ) ;
1609
- assert_eq ! ( vec. heap_size_of_children( ) , 0 ) ;
1610
- vec. push ( 3 ) ;
1611
- assert_eq ! ( vec. heap_size_of_children( ) , 16 ) ;
1612
-
1613
- // Now check with reserved space
1614
- let mut vec = SmallVec :: < [ u32 ; 2 ] > :: new ( ) ;
1615
- vec. reserve ( 10 ) ; // Rounds up to 16
1616
- assert_eq ! ( vec. heap_size_of_children( ) , 64 ) ;
1617
-
1618
- // Check with nested heap structures
1619
- let mut vec = SmallVec :: < [ Vec < u32 > ; 2 ] > :: new ( ) ;
1620
- vec. reserve ( 10 ) ;
1621
- vec. push ( vec ! [ 2 , 3 , 4 ] ) ;
1622
- assert_eq ! ( vec. heap_size_of_children( ) ,
1623
- vec![ 2 , 3 , 4 ] . heap_size_of_children( ) + 16 * size_of:: <Vec <u32 >>( ) ) ;
1624
- }
1625
-
1626
1576
#[ test]
1627
1577
fn test_exact_size_iterator ( ) {
1628
1578
let mut vec = SmallVec :: < [ u32 ; 2 ] > :: from ( & [ 1 , 2 , 3 ] [ ..] ) ;
0 commit comments