@@ -99,7 +99,7 @@ impl DefaultFileStatisticsCacheState {
9999 key : & Path ,
100100 value : CachedFileMetadata ,
101101 ) -> Option < CachedFileMetadata > {
102- let key_size = key. heap_size ( ) ;
102+ let key_size = key. as_ref ( ) . heap_size ( ) ;
103103 let entry_size = value. heap_size ( ) ;
104104
105105 if entry_size + key_size > self . memory_limit {
@@ -114,7 +114,7 @@ impl DefaultFileStatisticsCacheState {
114114 if let Some ( old_entry) = & old_value {
115115 self . memory_used -= old_entry. heap_size ( ) ;
116116 } else {
117- self . memory_used += key. heap_size ( ) ;
117+ self . memory_used += key. as_ref ( ) . heap_size ( ) ;
118118 }
119119
120120 self . evict_entries ( ) ;
@@ -124,7 +124,7 @@ impl DefaultFileStatisticsCacheState {
124124
125125 fn remove ( & mut self , k : & Path ) -> Option < CachedFileMetadata > {
126126 if let Some ( old_entry) = self . lru_queue . remove ( k) {
127- self . memory_used -= k. heap_size ( ) ;
127+ self . memory_used -= k. as_ref ( ) . heap_size ( ) ;
128128 self . memory_used -= old_entry. heap_size ( ) ;
129129 Some ( old_entry)
130130 } else {
@@ -148,7 +148,7 @@ impl DefaultFileStatisticsCacheState {
148148 fn evict_entries ( & mut self ) {
149149 while self . memory_used > self . memory_limit {
150150 if let Some ( removed) = self . lru_queue . pop ( ) {
151- self . memory_used -= removed. 0 . heap_size ( ) ;
151+ self . memory_used -= removed. 0 . as_ref ( ) . heap_size ( ) ;
152152 self . memory_used -= removed. 1 . heap_size ( ) ;
153153 } else {
154154 // cache is empty while memory_used > memory_limit, cannot happen
@@ -552,9 +552,9 @@ mod tests {
552552 let ( meta_2, value_2) = create_cached_file_metadata_with_stats ( "test2.parquet" ) ;
553553 let ( meta_3, value_3) = create_cached_file_metadata_with_stats ( "test3.parquet" ) ;
554554
555- let limit_for_2_entries = meta_1. location . heap_size ( )
555+ let limit_for_2_entries = meta_1. location . as_ref ( ) . heap_size ( )
556556 + value_1. heap_size ( )
557- + meta_2. location . heap_size ( )
557+ + meta_2. location . as_ref ( ) . heap_size ( )
558558 + value_2. heap_size ( ) ;
559559
560560 // create a cache with a limit which fits exactly 2 entries
@@ -589,7 +589,7 @@ mod tests {
589589 assert_eq ! ( cache. len( ) , 1 ) ;
590590 assert_eq ! (
591591 cache. memory_used( ) ,
592- meta_3. location. heap_size( ) + value_3. heap_size( )
592+ meta_3. location. as_ref ( ) . heap_size( ) + value_3. heap_size( )
593593 ) ;
594594
595595 cache. clear ( ) ;
0 commit comments