@@ -75,8 +75,6 @@ struct DictInner<T> {
7575 filled : usize ,
7676 indices : Vec < i64 > ,
7777 entries : Vec < Option < DictEntry < T > > > ,
78- // index to new inserted element should be in entries
79- next_new_entry_idx : usize ,
8078}
8179
8280impl < T : Clone > Clone for Dict < T > {
@@ -95,7 +93,6 @@ impl<T> Default for Dict<T> {
9593 filled : 0 ,
9694 indices : vec ! [ IndexEntry :: FREE ; 8 ] ,
9795 entries : Vec :: new ( ) ,
98- next_new_entry_idx : 0 ,
9996 } ) ,
10097 }
10198 }
@@ -188,7 +185,6 @@ impl<T> DictInner<T> {
188185 }
189186 }
190187 self . filled = self . used ;
191- self . next_new_entry_idx = self . entries . len ( ) ;
192188 }
193189
194190 fn unchecked_push (
@@ -205,15 +201,10 @@ impl<T> DictInner<T> {
205201 value,
206202 index,
207203 } ;
208- let entry_index = self . next_new_entry_idx ;
209- if self . entries . len ( ) == entry_index {
210- self . entries . push ( Some ( entry) ) ;
211- } else {
212- self . entries [ entry_index] = Some ( entry) ;
213- }
204+ let entry_index = self . entries . len ( ) ;
205+ self . entries . push ( Some ( entry) ) ;
214206 self . indices [ index] = entry_index as i64 ;
215207 self . used += 1 ;
216- self . next_new_entry_idx += 1 ;
217208 if let IndexEntry :: Free = index_entry {
218209 self . filled += 1 ;
219210 if let Some ( new_size) = self . should_resize ( ) {
@@ -347,7 +338,6 @@ impl<T: Clone> Dict<T> {
347338 inner. indices . resize ( 8 , IndexEntry :: FREE ) ;
348339 inner. used = 0 ;
349340 inner. filled = 0 ;
350- inner. next_new_entry_idx = 0 ;
351341 // defer dec rc
352342 std:: mem:: take ( & mut inner. entries )
353343 } ;
@@ -653,7 +643,6 @@ impl<T: Clone> Dict<T> {
653643 } ;
654644 inner. used -= 1 ;
655645 inner. indices [ entry. index ] = IndexEntry :: DUMMY ;
656- inner. next_new_entry_idx = inner. entries . len ( ) ;
657646 Some ( ( entry. key , entry. value ) )
658647 }
659648
0 commit comments