@@ -222,6 +222,15 @@ mod test {
222
222
pdg. graphs [ 0_u32 . into ( ) ] . nodes [ id] . info . as_ref ( ) . unwrap ( )
223
223
}
224
224
225
+ fn check_unique ( pdg : & Graphs , unique : & [ NodeId ] , non_unique : & [ NodeId ] ) {
226
+ for & unique in unique {
227
+ assert ! ( info( pdg, unique) . unique) ;
228
+ }
229
+ for & non_unique in non_unique {
230
+ assert ! ( !info( pdg, non_unique) . unique) ;
231
+ }
232
+ }
233
+
225
234
/// ```rust
226
235
/// let mut a = 0;
227
236
/// let b = &mut a;
@@ -262,14 +271,7 @@ mod test {
262
271
let c3 = mk_store_addr ( & mut g, c1) ;
263
272
264
273
let pdg = build_pdg ( g) ;
265
- assert ! ( !info( & pdg, a) . unique) ;
266
- assert ! ( !info( & pdg, b1) . unique) ;
267
- assert ! ( !info( & pdg, b2) . unique) ;
268
-
269
- assert ! ( !info( & pdg, b3) . unique) ;
270
- assert ! ( !info( & pdg, c1) . unique) ;
271
- assert ! ( !info( & pdg, c2) . unique) ;
272
- assert ! ( !info( & pdg, c3) . unique) ;
274
+ check_unique ( & pdg, & [ ] , & [ a, b1, b2, b3, c1, c2, c3] ) ;
273
275
}
274
276
275
277
/// ```rust
@@ -308,12 +310,7 @@ mod test {
308
310
let b3 = mk_store_addr ( & mut g, b1) ;
309
311
310
312
let pdg = build_pdg ( g) ;
311
- assert ! ( !info( & pdg, a) . unique) ;
312
- assert ! ( !info( & pdg, b1) . unique) ;
313
- assert ! ( !info( & pdg, b2) . unique) ;
314
- assert ! ( !info( & pdg, b3) . unique) ;
315
- assert ! ( !info( & pdg, c1) . unique) ;
316
- assert ! ( !info( & pdg, c2) . unique) ;
313
+ check_unique ( & pdg, & [ ] , & [ a, b1, b2, b3, c1, c2] ) ;
317
314
}
318
315
319
316
/// ```rust
@@ -352,12 +349,7 @@ mod test {
352
349
let b3 = mk_store_addr ( & mut g, b1) ;
353
350
354
351
let pdg = build_pdg ( g) ;
355
- assert ! ( info( & pdg, a) . unique) ;
356
- assert ! ( info( & pdg, b1) . unique) ;
357
- assert ! ( info( & pdg, b2) . unique) ;
358
- assert ! ( info( & pdg, b3) . unique) ;
359
- assert ! ( info( & pdg, c1) . unique) ;
360
- assert ! ( info( & pdg, c2) . unique) ;
352
+ check_unique ( & pdg, & [ a, b1, b2, b3, c1, c2] , & [ ] ) ;
361
353
}
362
354
363
355
/// ```rust
@@ -400,13 +392,7 @@ mod test {
400
392
let c3 = mk_store_addr ( & mut g, c1) ;
401
393
402
394
let pdg = build_pdg ( g) ;
403
- assert ! ( info( & pdg, a) . unique) ;
404
- assert ! ( !info( & pdg, b1) . unique) ;
405
- assert ! ( !info( & pdg, b2) . unique) ;
406
- assert ! ( !info( & pdg, b3) . unique) ;
407
- assert ! ( !info( & pdg, c1) . unique) ;
408
- assert ! ( !info( & pdg, c2) . unique) ;
409
- assert ! ( !info( & pdg, c3) . unique) ;
395
+ check_unique ( & pdg, & [ a] , & [ b1, b2, b3, c1, c2, c3] ) ;
410
396
}
411
397
412
398
/// ```rust
@@ -444,11 +430,7 @@ mod test {
444
430
let c2 = mk_store_addr ( & mut g, c1) ;
445
431
446
432
let pdg = build_pdg ( g) ;
447
- assert ! ( info( & pdg, a) . unique) ;
448
- assert ! ( info( & pdg, b1) . unique) ;
449
- assert ! ( info( & pdg, b2) . unique) ;
450
- assert ! ( info( & pdg, c1) . unique) ;
451
- assert ! ( info( & pdg, c2) . unique) ;
433
+ check_unique ( & pdg, & [ a, b1, b2, c1, c2] , & [ ] ) ;
452
434
}
453
435
454
436
/// ```rust
@@ -497,13 +479,7 @@ mod test {
497
479
let d2 = mk_store_addr ( & mut g, d1) ;
498
480
499
481
let pdg = build_pdg ( g) ;
500
- assert ! ( info( & pdg, a) . unique) ;
501
- assert ! ( !info( & pdg, j) . unique) ;
502
- assert ! ( !info( & pdg, b1) . unique) ;
503
- assert ! ( !info( & pdg, b2) . unique) ;
504
- assert ! ( !info( & pdg, c1) . unique) ;
505
- assert ! ( !info( & pdg, c2) . unique) ;
506
- assert ! ( info( & pdg, d2) . unique) ;
482
+ check_unique ( & pdg, & [ a, d2] , & [ j, b1, b2, c1, c2] ) ;
507
483
}
508
484
509
485
/// ```rust
@@ -540,11 +516,7 @@ mod test {
540
516
let b2 = mk_store_addr ( & mut g, b1) ;
541
517
542
518
let pdg = build_pdg ( g) ;
543
- assert ! ( !info( & pdg, a) . unique) ;
544
- assert ! ( !info( & pdg, b1) . unique) ;
545
- assert ! ( !info( & pdg, b2) . unique) ;
546
- assert ! ( !info( & pdg, c1) . unique) ;
547
- assert ! ( !info( & pdg, c2) . unique) ;
519
+ check_unique ( & pdg, & [ ] , & [ a, b1, b2, c1, c2] ) ;
548
520
}
549
521
550
522
/// ```rust
@@ -583,12 +555,7 @@ mod test {
583
555
let b2 = mk_store_addr ( & mut g, bb) ;
584
556
585
557
let pdg = build_pdg ( g) ;
586
- assert ! ( !info( & pdg, a) . unique) ;
587
- assert ! ( !info( & pdg, b1) . unique) ;
588
- assert ! ( !info( & pdg, b2) . unique) ;
589
- assert ! ( !info( & pdg, c1) . unique) ;
590
- assert ! ( !info( & pdg, c2) . unique) ;
591
- assert ! ( !info( & pdg, b2) . unique) ;
558
+ check_unique ( & pdg, & [ ] , & [ a, b1, b2, c1, c2] ) ;
592
559
}
593
560
594
561
/// ```rust
@@ -645,24 +612,11 @@ mod test {
645
612
let x6 = mk_store_addr ( & mut g, x5) ;
646
613
647
614
let pdg = build_pdg ( g) ;
648
-
649
- assert ! ( info( & pdg, a) . unique) ;
650
- assert ! ( info( & pdg, b1) . unique) ;
651
- assert ! ( info( & pdg, c1) . unique) ;
652
- assert ! ( info( & pdg, x1) . unique) ;
653
- assert ! ( info( & pdg, x2) . unique) ;
654
- assert ! ( info( & pdg, x3) . unique) ;
655
- assert ! ( info( & pdg, b2) . unique) ;
656
- assert ! ( info( & pdg, c2) . unique) ;
657
- assert ! ( info( & pdg, d1) . unique) ;
658
- assert ! ( info( & pdg, d2) . unique) ;
659
- assert ! ( !info( & pdg, e) . unique) ;
660
- assert ! ( !info( & pdg, f1) . unique) ;
661
- assert ! ( !info( & pdg, gg) . unique) ;
662
- assert ! ( !info( & pdg, f2) . unique) ;
663
- assert ! ( info( & pdg, x4) . unique) ;
664
- assert ! ( info( & pdg, x5) . unique) ;
665
- assert ! ( info( & pdg, x6) . unique) ;
615
+ check_unique (
616
+ & pdg,
617
+ & [ a, b1, c1, x1, x2, x3, b2, c2, d1, d2, x4, x5, x6] ,
618
+ & [ e, f1, gg, f2] ,
619
+ ) ;
666
620
}
667
621
668
622
/// ```rust
@@ -705,14 +659,7 @@ mod test {
705
659
let y3 = mk_store_addr ( & mut g, y1) ;
706
660
707
661
let pdg = build_pdg ( g) ;
708
-
709
- assert ! ( info( & pdg, a) . unique) ;
710
- assert ! ( info( & pdg, x1) . unique) ;
711
- assert ! ( info( & pdg, x2) . unique) ;
712
- assert ! ( info( & pdg, x3) . unique) ;
713
- assert ! ( info( & pdg, y1) . unique) ;
714
- assert ! ( info( & pdg, y2) . unique) ;
715
- assert ! ( info( & pdg, y3) . unique) ;
662
+ check_unique ( & pdg, & [ a, x1, x2, x3, y1, y2, y3] , & [ ] ) ;
716
663
}
717
664
718
665
/// ```rust
@@ -759,16 +706,7 @@ mod test {
759
706
let y4 = mk_store_addr ( & mut g, y2) ;
760
707
761
708
let pdg = build_pdg ( g) ;
762
-
763
- assert ! ( info( & pdg, a) . unique) ;
764
- assert ! ( info( & pdg, x1) . unique) ;
765
- assert ! ( info( & pdg, x2) . unique) ;
766
- assert ! ( info( & pdg, x3) . unique) ;
767
- assert ! ( info( & pdg, x4) . unique) ;
768
- assert ! ( info( & pdg, y1) . unique) ;
769
- assert ! ( info( & pdg, y2) . unique) ;
770
- assert ! ( info( & pdg, y3) . unique) ;
771
- assert ! ( info( & pdg, y4) . unique) ;
709
+ check_unique ( & pdg, & [ a, x1, x2, x3, x4, y1, y2, y3, y4] , & [ ] ) ;
772
710
}
773
711
774
712
/// ```rust
@@ -815,16 +753,7 @@ mod test {
815
753
let y4 = mk_store_addr ( & mut g, y2) ;
816
754
817
755
let pdg = build_pdg ( g) ;
818
-
819
- assert ! ( !info( & pdg, a) . unique) ;
820
- assert ! ( !info( & pdg, x1) . unique) ;
821
- assert ! ( !info( & pdg, x2) . unique) ;
822
- assert ! ( !info( & pdg, x3) . unique) ;
823
- assert ! ( !info( & pdg, x4) . unique) ;
824
- assert ! ( !info( & pdg, y1) . unique) ;
825
- assert ! ( !info( & pdg, y2) . unique) ;
826
- assert ! ( !info( & pdg, y3) . unique) ;
827
- assert ! ( !info( & pdg, y4) . unique) ;
756
+ check_unique ( & pdg, & [ ] , & [ a, x1, x2, x3, x4, y1, y2, y3, y4] ) ;
828
757
}
829
758
830
759
/// ```rust
@@ -871,16 +800,7 @@ mod test {
871
800
let y4 = mk_store_addr ( & mut g, y2) ;
872
801
873
802
let pdg = build_pdg ( g) ;
874
-
875
- assert ! ( !info( & pdg, a) . unique) ;
876
- assert ! ( !info( & pdg, x1) . unique) ;
877
- assert ! ( !info( & pdg, x2) . unique) ;
878
- assert ! ( !info( & pdg, x3) . unique) ;
879
- assert ! ( !info( & pdg, x4) . unique) ;
880
- assert ! ( !info( & pdg, y1) . unique) ;
881
- assert ! ( !info( & pdg, y2) . unique) ;
882
- assert ! ( !info( & pdg, y3) . unique) ;
883
- assert ! ( !info( & pdg, y4) . unique) ;
803
+ check_unique ( & pdg, & [ ] , & [ a, x1, x2, x3, x4, y1, y2, y3, y4] ) ;
884
804
}
885
805
886
806
/// ```rust
@@ -927,16 +847,7 @@ mod test {
927
847
let y4 = mk_store_addr ( & mut g, y2) ;
928
848
929
849
let pdg = build_pdg ( g) ;
930
-
931
- assert ! ( info( & pdg, a) . unique) ;
932
- assert ! ( info( & pdg, x1) . unique) ;
933
- assert ! ( info( & pdg, x2) . unique) ;
934
- assert ! ( info( & pdg, x3) . unique) ;
935
- assert ! ( info( & pdg, x4) . unique) ;
936
- assert ! ( info( & pdg, y1) . unique) ;
937
- assert ! ( info( & pdg, y2) . unique) ;
938
- assert ! ( info( & pdg, y3) . unique) ;
939
- assert ! ( info( & pdg, y4) . unique) ;
850
+ check_unique ( & pdg, & [ a, x1, x2, x3, x4, y1, y2, y3, y4] , & [ ] ) ;
940
851
}
941
852
942
853
/// ```rust
@@ -992,15 +903,6 @@ mod test {
992
903
let y4 = mk_store_addr ( & mut g, y2) ;
993
904
994
905
let pdg = build_pdg ( g) ;
995
-
996
- assert ! ( !info( & pdg, p) . unique) ;
997
- assert ! ( !info( & pdg, x1) . unique) ;
998
- assert ! ( !info( & pdg, x2) . unique) ;
999
- assert ! ( !info( & pdg, x3) . unique) ;
1000
- assert ! ( !info( & pdg, x4) . unique) ;
1001
- assert ! ( !info( & pdg, y1) . unique) ;
1002
- assert ! ( !info( & pdg, y2) . unique) ;
1003
- assert ! ( !info( & pdg, y3) . unique) ;
1004
- assert ! ( !info( & pdg, y4) . unique) ;
906
+ check_unique ( & pdg, & [ ] , & [ p, x1, x2, x3, x4, y1, y2, y3, y4] ) ;
1005
907
}
1006
908
}
0 commit comments