@@ -198,10 +198,8 @@ pub fn cell_to_vertexes(cell: CellIndex) -> Vec<VertexIndex> {
198
198
}
199
199
200
200
out. into_iter ( )
201
- . filter_map ( |index| {
202
- ( index != 0 )
203
- . then ( || VertexIndex :: try_from ( index) . expect ( "vertex index" ) )
204
- } )
201
+ . filter ( |& index| index != 0 )
202
+ . map ( |index| VertexIndex :: try_from ( index) . expect ( "vertex index" ) )
205
203
. collect ( )
206
204
}
207
205
@@ -257,10 +255,8 @@ pub fn compact_cells(cells: &[CellIndex]) -> Option<Vec<CellIndex>> {
257
255
} ;
258
256
( res == 0 ) . then ( || {
259
257
out. into_iter ( )
260
- . filter_map ( |index| {
261
- ( index != 0 )
262
- . then ( || CellIndex :: try_from ( index) . expect ( "cell index" ) )
263
- } )
258
+ . filter ( |& index| index != 0 )
259
+ . map ( |index| CellIndex :: try_from ( index) . expect ( "cell index" ) )
264
260
. collect ( )
265
261
} )
266
262
}
@@ -394,10 +390,8 @@ pub fn get_icosahedron_faces(index: CellIndex) -> Vec<Face> {
394
390
395
391
let mut res = out
396
392
. into_iter ( )
397
- . filter_map ( |value| {
398
- ( value != -1 )
399
- . then ( || Face :: try_from ( value as u8 ) . expect ( "icosahedron face" ) )
400
- } )
393
+ . filter ( |& value| value != -1 )
394
+ . map ( |value| Face :: try_from ( value as u8 ) . expect ( "icosahedron face" ) )
401
395
. collect :: < Vec < _ > > ( ) ;
402
396
res. sort ( ) ;
403
397
res
@@ -500,9 +494,8 @@ pub fn grid_disk(origin: CellIndex, k: u32) -> Vec<CellIndex> {
500
494
501
495
cells
502
496
. into_iter ( )
503
- . filter_map ( |cell| {
504
- ( cell != 0 ) . then ( || CellIndex :: try_from ( cell) . expect ( "cell index" ) )
505
- } )
497
+ . filter ( |& cell| cell != 0 )
498
+ . map ( |cell| CellIndex :: try_from ( cell) . expect ( "cell index" ) )
506
499
. collect ( )
507
500
}
508
501
@@ -524,14 +517,13 @@ pub fn grid_disk_distances(origin: CellIndex, k: u32) -> Vec<(CellIndex, u32)> {
524
517
525
518
cells
526
519
. into_iter ( )
527
- . zip ( distances. into_iter ( ) )
528
- . filter_map ( |( cell, distance) | {
529
- ( cell != 0 ) . then ( || {
530
- (
531
- CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
532
- distance as u32 ,
533
- )
534
- } )
520
+ . zip ( distances)
521
+ . filter ( |& ( cell, _distance) | cell != 0 )
522
+ . map ( |( cell, distance) | {
523
+ (
524
+ CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
525
+ distance as u32 ,
526
+ )
535
527
} )
536
528
. collect ( )
537
529
}
@@ -557,14 +549,13 @@ pub fn grid_disk_distances_safe(
557
549
558
550
cells
559
551
. into_iter ( )
560
- . zip ( distances. into_iter ( ) )
561
- . filter_map ( |( cell, distance) | {
562
- ( cell != 0 ) . then ( || {
563
- (
564
- CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
565
- distance as u32 ,
566
- )
567
- } )
552
+ . zip ( distances)
553
+ . filter ( |& ( cell, _distance) | cell != 0 )
554
+ . map ( |( cell, distance) | {
555
+ (
556
+ CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
557
+ distance as u32 ,
558
+ )
568
559
} )
569
560
. collect ( )
570
561
}
@@ -590,14 +581,13 @@ pub fn grid_disk_distances_unsafe(
590
581
( res == 0 ) . then ( || {
591
582
cells
592
583
. into_iter ( )
593
- . zip ( distances. into_iter ( ) )
594
- . filter_map ( |( cell, distance) | {
595
- ( cell != 0 ) . then ( || {
596
- (
597
- CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
598
- distance as u32 ,
599
- )
600
- } )
584
+ . zip ( distances)
585
+ . filter ( |& ( cell, _distance) | cell != 0 )
586
+ . map ( |( cell, distance) | {
587
+ (
588
+ CellIndex :: try_from ( cell) . expect ( "cell index" ) ,
589
+ distance as u32 ,
590
+ )
601
591
} )
602
592
. collect ( )
603
593
} )
@@ -619,10 +609,8 @@ pub fn grid_disk_unsafe(origin: CellIndex, k: u32) -> Option<Vec<CellIndex>> {
619
609
( res == 0 ) . then ( || {
620
610
cells
621
611
. into_iter ( )
622
- . filter_map ( |cell| {
623
- ( cell != 0 )
624
- . then ( || CellIndex :: try_from ( cell) . expect ( "cell index" ) )
625
- } )
612
+ . filter ( |& cell| cell != 0 )
613
+ . map ( |cell| CellIndex :: try_from ( cell) . expect ( "cell index" ) )
626
614
. collect ( )
627
615
} )
628
616
}
@@ -649,10 +637,8 @@ pub fn grid_disks_unsafe(
649
637
( res == 0 ) . then ( || {
650
638
cells
651
639
. into_iter ( )
652
- . filter_map ( |cell| {
653
- ( cell != 0 )
654
- . then ( || CellIndex :: try_from ( cell) . expect ( "cell index" ) )
655
- } )
640
+ . filter ( |& cell| cell != 0 )
641
+ . map ( |cell| CellIndex :: try_from ( cell) . expect ( "cell index" ) )
656
642
. collect ( )
657
643
} )
658
644
}
@@ -711,10 +697,8 @@ pub fn grid_ring_unsafe(origin: CellIndex, k: u32) -> Option<Vec<CellIndex>> {
711
697
( res == 0 ) . then ( || {
712
698
cells
713
699
. into_iter ( )
714
- . filter_map ( |cell| {
715
- ( cell != 0 )
716
- . then ( || CellIndex :: try_from ( cell) . expect ( "cell index" ) )
717
- } )
700
+ . filter ( |& cell| cell != 0 )
701
+ . map ( |cell| CellIndex :: try_from ( cell) . expect ( "cell index" ) )
718
702
. collect ( )
719
703
} )
720
704
}
@@ -815,11 +799,8 @@ pub fn origin_to_directed_edges(index: CellIndex) -> Vec<DirectedEdgeIndex> {
815
799
}
816
800
817
801
out. into_iter ( )
818
- . filter_map ( |index| {
819
- ( index != 0 ) . then ( || {
820
- DirectedEdgeIndex :: try_from ( index) . expect ( "edge index" )
821
- } )
822
- } )
802
+ . filter ( |& index| index != 0 )
803
+ . map ( |index| DirectedEdgeIndex :: try_from ( index) . expect ( "edge index" ) )
823
804
. collect ( )
824
805
}
825
806
0 commit comments