@@ -238,7 +238,7 @@ impl<A> Chunk<A> {
238
238
/// # Arguments
239
239
/// * `buf` - A mutable reference to a vector that will be populated with
240
240
/// references to the chunk's elements
241
- pub fn as_vec_mut < ' a > ( & ' a self , buf : & mut Vec < A > )
241
+ pub fn as_vec_mut ( & self , buf : & mut Vec < A > )
242
242
where
243
243
A : Clone ,
244
244
{
@@ -292,13 +292,13 @@ mod tests {
292
292
#[ test]
293
293
fn test_prepend ( ) {
294
294
let chunk = Chunk :: new ( ) . prepend ( 1 ) . prepend ( 2 ) . prepend ( 3 ) ;
295
- assert_eq ! ( chunk. as_vec( ) , vec![ & 3 , & 2 , & 1 ] ) ;
295
+ assert_eq ! ( chunk. as_vec( ) , vec![ 3 , 2 , 1 ] ) ;
296
296
297
297
// Test that original chunk remains unchanged (persistence)
298
298
let chunk1 = Chunk :: new ( ) . prepend ( 1 ) ;
299
299
let chunk2 = chunk1. clone ( ) . prepend ( 2 ) ;
300
- assert_eq ! ( chunk1. as_vec( ) , vec![ & 1 ] ) ;
301
- assert_eq ! ( chunk2. as_vec( ) , vec![ & 2 , & 1 ] ) ;
300
+ assert_eq ! ( chunk1. as_vec( ) , vec![ 1 ] ) ;
301
+ assert_eq ! ( chunk2. as_vec( ) , vec![ 2 , 1 ] ) ;
302
302
}
303
303
304
304
#[ test]
@@ -307,7 +307,7 @@ mod tests {
307
307
let chunk2 = Chunk :: new ( ) . prepend ( 3 ) . prepend ( 4 ) ;
308
308
let combined = chunk1. clone ( ) . concat ( chunk2. clone ( ) ) ;
309
309
310
- assert_eq ! ( combined. as_vec( ) , vec![ & 2 , & 1 , & 4 , & 3 ] ) ;
310
+ assert_eq ! ( combined. as_vec( ) , vec![ 2 , 1 , 4 , 3 ] ) ;
311
311
312
312
// Test concatenation with empty chunks
313
313
let empty = Chunk :: new ( ) ;
@@ -319,28 +319,28 @@ mod tests {
319
319
chunk1. clone( ) . concat( empty. clone( ) ) . as_vec( ) ,
320
320
chunk1. as_vec( )
321
321
) ;
322
- assert_eq ! ( empty. clone( ) . concat( empty) . as_vec( ) , Vec :: <& i32 >:: new( ) ) ;
322
+ assert_eq ! ( empty. clone( ) . concat( empty) . as_vec( ) , Vec :: <i32 >:: new( ) ) ;
323
323
}
324
324
325
325
#[ test]
326
326
fn test_as_vec ( ) {
327
327
// Test empty chunk
328
328
let empty: Chunk < i32 > = Chunk :: new ( ) ;
329
- assert_eq ! ( empty. as_vec( ) , Vec :: <& i32 >:: new( ) ) ;
329
+ assert_eq ! ( empty. as_vec( ) , Vec :: <i32 >:: new( ) ) ;
330
330
331
331
// Test single element
332
332
let single = Chunk :: new ( ) . prepend ( 42 ) ;
333
- assert_eq ! ( single. as_vec( ) , vec![ & 42 ] ) ;
333
+ assert_eq ! ( single. as_vec( ) , vec![ 42 ] ) ;
334
334
335
335
// Test multiple elements
336
336
let multiple = Chunk :: new ( ) . prepend ( 1 ) . prepend ( 2 ) . prepend ( 3 ) ;
337
- assert_eq ! ( multiple. as_vec( ) , vec![ & 3 , & 2 , & 1 ] ) ;
337
+ assert_eq ! ( multiple. as_vec( ) , vec![ 3 , 2 , 1 ] ) ;
338
338
339
339
// Test complex structure with concatenation
340
340
let chunk1 = Chunk :: new ( ) . prepend ( 1 ) . prepend ( 2 ) ;
341
341
let chunk2 = Chunk :: new ( ) . prepend ( 3 ) . prepend ( 4 ) ;
342
342
let complex = chunk1. concat ( chunk2) ;
343
- assert_eq ! ( complex. as_vec( ) , vec![ & 2 , & 1 , & 4 , & 3 ] ) ;
343
+ assert_eq ! ( complex. as_vec( ) , vec![ 2 , 1 , 4 , 3 ] ) ;
344
344
}
345
345
346
346
#[ test]
@@ -350,9 +350,9 @@ mod tests {
350
350
let chunk3 = chunk1. clone ( ) . prepend ( 4 ) ;
351
351
352
352
// Verify that modifications create new structures while preserving the original
353
- assert_eq ! ( chunk1. as_vec( ) , vec![ & 1 , & 2 ] ) ;
354
- assert_eq ! ( chunk2. as_vec( ) , vec![ & 1 , & 2 , & 3 ] ) ;
355
- assert_eq ! ( chunk3. as_vec( ) , vec![ & 1 , & 2 , & 4 ] ) ;
353
+ assert_eq ! ( chunk1. as_vec( ) , vec![ 1 , 2 ] ) ;
354
+ assert_eq ! ( chunk2. as_vec( ) , vec![ 1 , 2 , 3 ] ) ;
355
+ assert_eq ! ( chunk3. as_vec( ) , vec![ 1 , 2 , 4 ] ) ;
356
356
}
357
357
358
358
#[ test]
@@ -365,11 +365,11 @@ mod tests {
365
365
366
366
// Test with floating point numbers
367
367
let float_chunk = Chunk :: new ( ) . prepend ( 3.14 ) . prepend ( 2.718 ) ;
368
- assert_eq ! ( float_chunk. as_vec( ) , vec![ & 3.14 , & 2.718 ] ) ;
368
+ assert_eq ! ( float_chunk. as_vec( ) , vec![ 3.14 , 2.718 ] ) ;
369
369
370
370
// Test with boolean values
371
371
let bool_chunk = Chunk :: new ( ) . prepend ( true ) . prepend ( false ) . prepend ( true ) ;
372
- assert_eq ! ( bool_chunk. as_vec( ) , vec![ & true , & false , & true ] ) ;
372
+ assert_eq ! ( bool_chunk. as_vec( ) , vec![ true , false , true ] ) ;
373
373
}
374
374
375
375
#[ test]
@@ -378,22 +378,22 @@ mod tests {
378
378
let chunk = Chunk :: new ( ) . prepend ( 1 ) . prepend ( 2 ) ;
379
379
let mapped = Chunk :: FlatMap (
380
380
Rc :: new ( chunk) ,
381
- Rc :: new ( |x| Chunk :: new ( ) . prepend ( * x * 2 ) . prepend ( * x) ) ,
381
+ Rc :: new ( |x| Chunk :: new ( ) . prepend ( x * 2 ) . prepend ( x) ) ,
382
382
) ;
383
- assert_eq ! ( mapped. as_vec( ) , vec![ & 2 , & 4 , & 2 , & 1 ] ) ;
383
+ assert_eq ! ( mapped. as_vec( ) , vec![ 2 , 1 , 4 , 2 ] ) ;
384
384
385
385
// Test flat_map with empty chunk
386
386
let empty: Chunk < i32 > = Chunk :: new ( ) ;
387
- let mapped_empty = Chunk :: FlatMap ( Rc :: new ( empty) , Rc :: new ( |x| Chunk :: new ( ) . prepend ( * x) ) ) ;
387
+ let mapped_empty = Chunk :: FlatMap ( Rc :: new ( empty) , Rc :: new ( |x| Chunk :: new ( ) . prepend ( x) ) ) ;
388
388
assert_eq ! ( mapped_empty. as_vec( ) , Vec :: <i32 >:: new( ) ) ;
389
389
390
390
// Test nested flat_map
391
391
let chunk = Chunk :: new ( ) . prepend ( 1 ) . prepend ( 2 ) ;
392
- let first_map = Chunk :: FlatMap ( Rc :: new ( chunk) , Rc :: new ( |x| Chunk :: new ( ) . prepend ( * x * 2 ) ) ) ;
392
+ let first_map = Chunk :: FlatMap ( Rc :: new ( chunk) , Rc :: new ( |x| Chunk :: new ( ) . prepend ( x * 2 ) ) ) ;
393
393
let nested_map = Chunk :: FlatMap (
394
394
Rc :: new ( first_map) ,
395
- Rc :: new ( |x| Chunk :: new ( ) . prepend ( * x + 1 ) ) ,
395
+ Rc :: new ( |x| Chunk :: new ( ) . prepend ( x + 1 ) ) ,
396
396
) ;
397
- assert_eq ! ( nested_map. as_vec( ) , vec![ & 3 , & 5 ] ) ;
397
+ assert_eq ! ( nested_map. as_vec( ) , vec![ 3 , 5 ] ) ;
398
398
}
399
399
}
0 commit comments