@@ -12,11 +12,11 @@ fn inputs() -> impl Strategy<Value = Vec<(u32, u32)>> {
12
12
13
13
/// The original way to use datafrog -- computes reachable nodes from a set of edges
14
14
fn reachable_with_var_join ( edges : & [ ( u32 , u32 ) ] ) -> Relation < ( u32 , u32 ) > {
15
- let edges = Relation :: from ( edges. iter ( ) . cloned ( ) ) ;
15
+ let edges: Relation < _ > = edges. iter ( ) . collect ( ) ;
16
16
let mut iteration = Iteration :: new ( ) ;
17
17
18
18
let edges_by_successor = iteration. variable :: < ( u32 , u32 ) > ( "edges_invert" ) ;
19
- edges_by_successor. insert ( Relation :: from ( edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) ) ) ;
19
+ edges_by_successor. insert ( edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) . collect ( ) ) ;
20
20
21
21
let reachable = iteration. variable :: < ( u32 , u32 ) > ( "reachable" ) ;
22
22
reachable. insert ( edges) ;
@@ -35,7 +35,7 @@ fn reachable_with_relation_join(edges: &[(u32, u32)]) -> Relation<(u32, u32)> {
35
35
let mut iteration = Iteration :: new ( ) ;
36
36
37
37
// NB. Changed from `reachable_with_var_join`:
38
- let edges_by_successor = Relation :: from ( edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) ) ;
38
+ let edges_by_successor: Relation < _ > = edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) . collect ( ) ;
39
39
40
40
let reachable = iteration. variable :: < ( u32 , u32 ) > ( "reachable" ) ;
41
41
reachable. insert ( edges) ;
@@ -49,10 +49,10 @@ fn reachable_with_relation_join(edges: &[(u32, u32)]) -> Relation<(u32, u32)> {
49
49
}
50
50
51
51
fn reachable_with_leapfrog ( edges : & [ ( u32 , u32 ) ] ) -> Relation < ( u32 , u32 ) > {
52
- let edges = Relation :: from ( edges. iter ( ) . cloned ( ) ) ;
52
+ let edges: Relation < _ > = edges. iter ( ) . collect ( ) ;
53
53
let mut iteration = Iteration :: new ( ) ;
54
54
55
- let edges_by_successor = Relation :: from ( edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) ) ;
55
+ let edges_by_successor: Relation < _ > = edges. iter ( ) . map ( |& ( n1, n2) | ( n2, n1) ) . collect ( ) ;
56
56
57
57
let reachable = iteration. variable :: < ( u32 , u32 ) > ( "reachable" ) ;
58
58
reachable. insert ( edges) ;
@@ -78,10 +78,10 @@ fn sum_join_via_var(
78
78
let mut iteration = Iteration :: new ( ) ;
79
79
80
80
let input1 = iteration. variable :: < ( u32 , u32 ) > ( "input1" ) ;
81
- input1. insert ( Relation :: from ( input1_slice. iter ( ) . cloned ( ) ) ) ;
81
+ input1. insert ( input1_slice. iter ( ) . collect ( ) ) ;
82
82
83
83
let input2 = iteration. variable :: < ( u32 , u32 ) > ( "input1" ) ;
84
- input2. insert ( Relation :: from ( input2_slice. iter ( ) . cloned ( ) ) ) ;
84
+ input2. insert ( input2_slice. iter ( ) . collect ( ) ) ;
85
85
86
86
let output = iteration. variable :: < ( u32 , u32 ) > ( "output" ) ;
87
87
@@ -99,8 +99,8 @@ fn sum_join_via_relation(
99
99
input1_slice : & [ ( u32 , u32 ) ] ,
100
100
input2_slice : & [ ( u32 , u32 ) ] ,
101
101
) -> Relation < ( u32 , u32 ) > {
102
- let input1 = Relation :: from ( input1_slice. iter ( ) . cloned ( ) ) ;
103
- let input2 = Relation :: from ( input2_slice. iter ( ) . cloned ( ) ) ;
102
+ let input1: Relation < _ > = input1_slice. iter ( ) . collect ( ) ;
103
+ let input2: Relation < _ > = input2_slice. iter ( ) . collect ( ) ;
104
104
Relation :: from_join ( & input1, & input2, |& k1, & v1, & v2| ( k1, v1 * 100 + v2) )
105
105
}
106
106
0 commit comments