@@ -345,39 +345,16 @@ fn test_slice_collapse_with_indices() {
345
345
#[ test]
346
346
#[ allow( clippy:: cognitive_complexity) ]
347
347
fn test_multislice ( ) {
348
- defmac ! ( test_multislice mut arr, s1, s2 => {
349
- {
350
- let copy = arr. clone( ) ;
351
- assert_eq!(
352
- multislice!( arr, mut s1, mut s2, ) ,
353
- ( copy. clone( ) . slice_mut( s1) , copy. clone( ) . slice_mut( s2) )
354
- ) ;
355
- }
356
- {
357
- let copy = arr. clone( ) ;
358
- assert_eq!(
359
- multislice!( arr, mut s1, s2, ) ,
360
- ( copy. clone( ) . slice_mut( s1) , copy. clone( ) . slice( s2) )
361
- ) ;
362
- }
363
- {
364
- let copy = arr. clone( ) ;
365
- assert_eq!(
366
- multislice!( arr, s1, mut s2) ,
367
- ( copy. clone( ) . slice( s1) , copy. clone( ) . slice_mut( s2) )
368
- ) ;
369
- }
370
- {
371
- let copy = arr. clone( ) ;
372
- assert_eq!(
373
- multislice!( arr, s1, s2) ,
374
- ( copy. clone( ) . slice( s1) , copy. clone( ) . slice( s2) )
375
- ) ;
376
- }
348
+ defmac ! ( test_multislice arr, s1, s2 => {
349
+ let copy = arr. clone( ) ;
350
+ assert_eq!(
351
+ arr. multi_slice_mut( ( s1, s2) ) ,
352
+ ( copy. clone( ) . slice_mut( s1) , copy. clone( ) . slice_mut( s2) )
353
+ ) ;
377
354
} ) ;
378
355
let mut arr = Array1 :: from_iter ( 0 ..48 ) . into_shape ( ( 8 , 6 ) ) . unwrap ( ) ;
379
356
380
- assert_eq ! ( ( arr. clone( ) . view( ) , ) , multislice! ( arr, [ .., ..] ) ) ;
357
+ assert_eq ! ( arr. clone( ) . view( ) , arr. multi_slice_mut ( s! [ .., ..] ) ) ;
381
358
test_multislice ! ( & mut arr, s![ 0 , ..] , s![ 1 , ..] ) ;
382
359
test_multislice ! ( & mut arr, s![ 0 , ..] , s![ -1 , ..] ) ;
383
360
test_multislice ! ( & mut arr, s![ 0 , ..] , s![ 1 .., ..] ) ;
@@ -392,87 +369,28 @@ fn test_multislice() {
392
369
fn test_multislice_intersecting ( ) {
393
370
assert_panics ! ( {
394
371
let mut arr = Array2 :: <u8 >:: zeros( ( 8 , 6 ) ) ;
395
- multislice! ( arr, mut [ 3 , ..] , [ 3 , ..] ) ;
372
+ arr. multi_slice_mut ( ( s! [ 3 , ..] , s! [ 3 , ..] ) ) ;
396
373
} ) ;
397
374
assert_panics ! ( {
398
375
let mut arr = Array2 :: <u8 >:: zeros( ( 8 , 6 ) ) ;
399
- multislice! ( arr, mut [ 3 , ..] , [ 3 .., ..] ) ;
376
+ arr. multi_slice_mut ( ( s! [ 3 , ..] , s! [ 3 .., ..] ) ) ;
400
377
} ) ;
401
378
assert_panics ! ( {
402
379
let mut arr = Array2 :: <u8 >:: zeros( ( 8 , 6 ) ) ;
403
- multislice! ( arr, mut [ 3 , ..] , [ ..; 3 , ..] ) ;
380
+ arr. multi_slice_mut ( ( s! [ 3 , ..] , s! [ ..; 3 , ..] ) ) ;
404
381
} ) ;
405
382
assert_panics ! ( {
406
383
let mut arr = Array2 :: <u8 >:: zeros( ( 8 , 6 ) ) ;
407
- multislice! ( arr, mut [ ..; 6 , ..] , [ 3 ..; 3 , ..] ) ;
384
+ arr. multi_slice_mut ( ( s! [ ..; 6 , ..] , s! [ 3 ..; 3 , ..] ) ) ;
408
385
} ) ;
409
386
assert_panics ! ( {
410
387
let mut arr = Array2 :: <u8 >:: zeros( ( 8 , 6 ) ) ;
411
- multislice! ( arr, mut [ 2 , ..] , mut [ ..-1 ; -2 , ..] ) ;
388
+ arr. multi_slice_mut ( ( s! [ 2 , ..] , s! [ ..-1 ; -2 , ..] ) ) ;
412
389
} ) ;
413
390
{
414
391
let mut arr = Array2 :: < u8 > :: zeros ( ( 8 , 6 ) ) ;
415
- multislice ! ( arr, [ 3 , ..] , [ -1 ..; -2 , ..] ) ;
416
- }
417
- }
418
-
419
- #[ test]
420
- fn test_multislice_eval_args_only_once ( ) {
421
- let mut arr = Array1 :: < u8 > :: zeros ( 10 ) ;
422
- let mut eval_count = 0 ;
423
- {
424
- let mut slice = || {
425
- eval_count += 1 ;
426
- * s ! [ 1 ..2 ]
427
- } ;
428
- multislice ! ( arr, mut & slice( ) , [ 3 ..4 ] , [ 5 ..6 ] ) ;
429
- }
430
- assert_eq ! ( eval_count, 1 ) ;
431
- let mut eval_count = 0 ;
432
- {
433
- let mut slice = || {
434
- eval_count += 1 ;
435
- * s ! [ 1 ..2 ]
436
- } ;
437
- multislice ! ( arr, [ 3 ..4 ] , mut & slice( ) , [ 5 ..6 ] ) ;
392
+ arr. multi_slice_mut ( ( s ! [ 3 , ..] , s ! [ -1 ..; -2 , ..] ) ) ;
438
393
}
439
- assert_eq ! ( eval_count, 1 ) ;
440
- let mut eval_count = 0 ;
441
- {
442
- let mut slice = || {
443
- eval_count += 1 ;
444
- * s ! [ 1 ..2 ]
445
- } ;
446
- multislice ! ( arr, [ 3 ..4 ] , [ 5 ..6 ] , mut & slice( ) ) ;
447
- }
448
- assert_eq ! ( eval_count, 1 ) ;
449
- let mut eval_count = 0 ;
450
- {
451
- let mut slice = || {
452
- eval_count += 1 ;
453
- * s ! [ 1 ..2 ]
454
- } ;
455
- multislice ! ( arr, & slice( ) , mut [ 3 ..4 ] , [ 5 ..6 ] ) ;
456
- }
457
- assert_eq ! ( eval_count, 1 ) ;
458
- let mut eval_count = 0 ;
459
- {
460
- let mut slice = || {
461
- eval_count += 1 ;
462
- * s ! [ 1 ..2 ]
463
- } ;
464
- multislice ! ( arr, mut [ 3 ..4 ] , & slice( ) , [ 5 ..6 ] ) ;
465
- }
466
- assert_eq ! ( eval_count, 1 ) ;
467
- let mut eval_count = 0 ;
468
- {
469
- let mut slice = || {
470
- eval_count += 1 ;
471
- * s ! [ 1 ..2 ]
472
- } ;
473
- multislice ! ( arr, mut [ 3 ..4 ] , [ 5 ..6 ] , & slice( ) ) ;
474
- }
475
- assert_eq ! ( eval_count, 1 ) ;
476
394
}
477
395
478
396
#[ should_panic]
0 commit comments