@@ -79,6 +79,23 @@ fn mk_fold<T:copy>(
79
79
} )
80
80
}
81
81
82
+ fn default_any_fold < T : send > ( ctxt : T ) -> fold < T > {
83
+ mk_fold (
84
+ ctxt,
85
+ { |f, d| default_seq_fold_crate ( f, d) } ,
86
+ { |f, d| default_seq_fold_item ( f, d) } ,
87
+ { |f, d| default_any_fold_mod ( f, d) } ,
88
+ { |f, d| default_seq_fold_nmod ( f, d) } ,
89
+ { |f, d| default_seq_fold_fn ( f, d) } ,
90
+ { |f, d| default_seq_fold_const ( f, d) } ,
91
+ { |f, d| default_seq_fold_enum ( f, d) } ,
92
+ { |f, d| default_seq_fold_res ( f, d) } ,
93
+ { |f, d| default_seq_fold_iface ( f, d) } ,
94
+ { |f, d| default_seq_fold_impl ( f, d) } ,
95
+ { |f, d| default_seq_fold_type ( f, d) }
96
+ )
97
+ }
98
+
82
99
fn default_seq_fold < T : copy > ( ctxt : T ) -> fold < T > {
83
100
mk_fold (
84
101
ctxt,
@@ -113,12 +130,6 @@ fn default_par_fold<T:send>(ctxt: T) -> fold<T> {
113
130
)
114
131
}
115
132
116
- // Just a convenient wrapper to convert back and forth between
117
- // parallel and sequential folds for perf testing
118
- fn default_any_fold < T : send > ( ctxt : T ) -> fold < T > {
119
- default_seq_fold ( ctxt)
120
- }
121
-
122
133
fn default_seq_fold_crate < T > (
123
134
fold : fold < T > ,
124
135
doc : doc:: cratedoc
@@ -135,27 +146,27 @@ fn default_seq_fold_item<T>(
135
146
doc
136
147
}
137
148
138
- fn default_seq_fold_mod < T > (
149
+ fn default_any_fold_mod < T : send > (
139
150
fold : fold < T > ,
140
151
doc : doc:: moddoc
141
152
) -> doc:: moddoc {
142
153
{
143
154
item: fold. fold_item ( fold, doc. item ) ,
144
- items: vec :: map ( doc. items ) { |itemtag|
155
+ items: util :: anymap ( doc. items ) { |itemtag|
145
156
fold_itemtag ( fold, itemtag)
146
157
}
147
158
with doc
148
159
}
149
160
}
150
161
151
- fn default_seq_fold_nmod < T > (
162
+ fn default_seq_fold_mod < T > (
152
163
fold : fold < T > ,
153
- doc : doc:: nmoddoc
154
- ) -> doc:: nmoddoc {
164
+ doc : doc:: moddoc
165
+ ) -> doc:: moddoc {
155
166
{
156
167
item: fold. fold_item ( fold, doc. item ) ,
157
- fns : vec :: map ( doc. fns ) { |fndoc |
158
- fold . fold_fn ( fold, fndoc )
168
+ items : util :: seqmap ( doc. items ) { |itemtag |
169
+ fold_itemtag ( fold, itemtag )
159
170
}
160
171
with doc
161
172
}
@@ -174,11 +185,17 @@ fn default_par_fold_mod<T:send>(
174
185
}
175
186
}
176
187
177
- fn default_any_fold_mod < T : send > (
188
+ fn default_seq_fold_nmod < T > (
178
189
fold : fold < T > ,
179
- doc : doc:: moddoc
180
- ) -> doc:: moddoc {
181
- default_seq_fold_mod ( fold, doc)
190
+ doc : doc:: nmoddoc
191
+ ) -> doc:: nmoddoc {
192
+ {
193
+ item: fold. fold_item ( fold, doc. item ) ,
194
+ fns: vec:: map ( doc. fns ) { |fndoc|
195
+ fold. fold_fn ( fold, fndoc)
196
+ }
197
+ with doc
198
+ }
182
199
}
183
200
184
201
fn fold_itemtag < T > ( fold : fold < T > , doc : doc:: itemtag ) -> doc:: itemtag {
0 commit comments