@@ -108,7 +108,7 @@ pub trait Combine {
108
108
( Some ( a) , Some ( b) ) => {
109
109
// FIXME(#5781) this should be eq_tys
110
110
// eq_tys(self, a, b).then(|| Ok(Some(a)) )
111
- self . contratys ( a, b) . chain ( |t| Ok ( Some ( t) ) )
111
+ self . contratys ( a, b) . chain_move ( |t| Ok ( Some ( t) ) )
112
112
}
113
113
( None , Some ( _) ) |
114
114
( Some ( _) , None ) => {
@@ -162,13 +162,13 @@ pub trait Combine {
162
162
}
163
163
164
164
ty:: rv_covariant => {
165
- do this. regions ( a_r, b_r) . chain |r| {
165
+ do this. regions ( a_r, b_r) . chain_move |r| {
166
166
Ok ( ty:: NonerasedRegions ( opt_vec:: with ( r) ) )
167
167
}
168
168
}
169
169
170
170
ty:: rv_contravariant => {
171
- do this. contraregions ( a_r, b_r) . chain |r| {
171
+ do this. contraregions ( a_r, b_r) . chain_move |r| {
172
172
Ok ( ty:: NonerasedRegions ( opt_vec:: with ( r) ) )
173
173
}
174
174
}
@@ -179,12 +179,12 @@ pub trait Combine {
179
179
}
180
180
}
181
181
182
- do self. tps ( as_. tps , bs. tps ) . chain |tps| {
183
- do self . self_tys ( as_. self_ty , bs. self_ty ) . chain |self_ty| {
182
+ do self. tps ( as_. tps , bs. tps ) . chain_move |tps| {
183
+ do self . self_tys ( as_. self_ty , bs. self_ty ) . chain_move |self_ty| {
184
184
do relate_region_params ( self ,
185
185
generics,
186
186
& as_. regions ,
187
- & bs. regions ) . chain |regions| {
187
+ & bs. regions ) . chain_move |regions| {
188
188
Ok ( substs {
189
189
regions : regions,
190
190
self_ty : self_ty,
@@ -227,8 +227,8 @@ pub trait Combine {
227
227
fn flds ( & self , a : ty:: field , b : ty:: field ) -> cres < ty:: field > {
228
228
if a. ident == b. ident {
229
229
self . mts ( & a. mt , & b. mt )
230
- . chain ( |mt| Ok ( ty:: field { ident : a. ident , mt : mt} ) )
231
- . chain_err ( |e| Err ( ty:: terr_in_field ( @e, a. ident ) ) )
230
+ . chain_move ( |mt| Ok ( ty:: field { ident : a. ident , mt : mt} ) )
231
+ . chain_err_move ( |e| Err ( ty:: terr_in_field ( @e, a. ident ) ) )
232
232
} else {
233
233
Err ( ty:: terr_record_fields (
234
234
expected_found ( self ,
@@ -238,7 +238,7 @@ pub trait Combine {
238
238
}
239
239
240
240
fn args ( & self , a : ty:: t , b : ty:: t ) -> cres < ty:: t > {
241
- do self . contratys ( a, b) . chain |t| {
241
+ do self . contratys ( a, b) . chain_move |t| {
242
242
Ok ( t)
243
243
}
244
244
}
@@ -274,7 +274,7 @@ pub trait Combine {
274
274
275
275
match ( a, b) {
276
276
( ty:: vstore_slice( a_r) , ty:: vstore_slice( b_r) ) => {
277
- do self . contraregions ( a_r, b_r) . chain |r| {
277
+ do self . contraregions ( a_r, b_r) . chain_move |r| {
278
278
Ok ( ty:: vstore_slice ( r) )
279
279
}
280
280
}
@@ -299,7 +299,7 @@ pub trait Combine {
299
299
300
300
match ( a, b) {
301
301
( ty:: RegionTraitStore ( a_r) , ty:: RegionTraitStore ( b_r) ) => {
302
- do self . contraregions ( a_r, b_r) . chain |r| {
302
+ do self . contraregions ( a_r, b_r) . chain_move |r| {
303
303
Ok ( ty:: RegionTraitStore ( r) )
304
304
}
305
305
}
@@ -357,7 +357,7 @@ pub fn expected_found<C:Combine,T>(
357
357
pub fn eq_tys < C : Combine > ( this : & C , a : ty:: t , b : ty:: t ) -> ures {
358
358
let suber = this. sub ( ) ;
359
359
do this. infcx ( ) . try {
360
- do suber. tys ( a, b) . chain |_ok| {
360
+ do suber. tys ( a, b) . chain_move |_ok| {
361
361
suber. contratys ( a, b)
362
362
} . to_ures ( )
363
363
}
@@ -371,10 +371,10 @@ pub fn eq_regions<C:Combine>(this: &C, a: ty::Region, b: ty::Region)
371
371
let sub = this. sub ( ) ;
372
372
do indent {
373
373
this. infcx ( ) . try ( || {
374
- do sub. regions ( a, b) . chain |_r| {
374
+ do sub. regions ( a, b) . chain_move |_r| {
375
375
sub. contraregions ( a, b)
376
376
}
377
- } ) . chain_err ( |e| {
377
+ } ) . chain_err_move ( |e| {
378
378
// substitute a better error, but use the regions
379
379
// found in the original error
380
380
match e {
@@ -426,9 +426,8 @@ pub fn super_fn_sigs<C:Combine>(
426
426
}
427
427
}
428
428
429
- do argvecs( this, a. inputs , b. inputs )
430
- . chain |inputs| {
431
- do this. tys ( a. output , b. output ) . chain |output| {
429
+ do argvecs( this, a. inputs , b. inputs ) . chain_move |inputs| {
430
+ do this. tys ( a. output , b. output ) . chain_move |output| {
432
431
Ok ( FnSig { bound_lifetime_names : opt_vec:: Empty , // FIXME(#4846)
433
432
inputs : inputs. clone ( ) ,
434
433
output : output} )
@@ -508,7 +507,7 @@ pub fn super_tys<C:Combine>(
508
507
& ty:: ty_enum( b_id, ref b_substs) )
509
508
if a_id == b_id => {
510
509
let type_def = ty:: lookup_item_type ( tcx, a_id) ;
511
- do this. substs ( & type_def. generics , a_substs, b_substs) . chain |substs| {
510
+ do this. substs ( & type_def. generics , a_substs, b_substs) . chain_move |substs| {
512
511
Ok ( ty:: mk_enum ( tcx, a_id, substs) )
513
512
}
514
513
}
@@ -517,9 +516,9 @@ pub fn super_tys<C:Combine>(
517
516
& ty:: ty_trait( b_id, ref b_substs, b_store, b_mutbl, b_bounds) )
518
517
if a_id == b_id && a_mutbl == b_mutbl => {
519
518
let trait_def = ty:: lookup_trait_def ( tcx, a_id) ;
520
- do this. substs ( & trait_def. generics , a_substs, b_substs) . chain |substs| {
521
- do this. trait_stores ( ty:: terr_trait, a_store, b_store) . chain |s| {
522
- do this. bounds ( a_bounds, b_bounds) . chain |bounds| {
519
+ do this. substs ( & trait_def. generics , a_substs, b_substs) . chain_move |substs| {
520
+ do this. trait_stores ( ty:: terr_trait, a_store, b_store) . chain_move |s| {
521
+ do this. bounds ( a_bounds, b_bounds) . chain_move |bounds| {
523
522
Ok ( ty:: mk_trait ( tcx,
524
523
a_id,
525
524
substs. clone ( ) ,
@@ -534,25 +533,25 @@ pub fn super_tys<C:Combine>(
534
533
( & ty:: ty_struct( a_id, ref a_substs) , & ty:: ty_struct( b_id, ref b_substs) )
535
534
if a_id == b_id => {
536
535
let type_def = ty:: lookup_item_type ( tcx, a_id) ;
537
- do this. substs ( & type_def. generics , a_substs, b_substs) . chain |substs| {
536
+ do this. substs ( & type_def. generics , a_substs, b_substs) . chain_move |substs| {
538
537
Ok ( ty:: mk_struct ( tcx, a_id, substs) )
539
538
}
540
539
}
541
540
542
541
( & ty:: ty_box( ref a_mt) , & ty:: ty_box( ref b_mt) ) => {
543
- do this. mts ( a_mt, b_mt) . chain |mt| {
542
+ do this. mts ( a_mt, b_mt) . chain_move |mt| {
544
543
Ok ( ty:: mk_box ( tcx, mt) )
545
544
}
546
545
}
547
546
548
547
( & ty:: ty_uniq( ref a_mt) , & ty:: ty_uniq( ref b_mt) ) => {
549
- do this. mts ( a_mt, b_mt) . chain |mt| {
548
+ do this. mts ( a_mt, b_mt) . chain_move |mt| {
550
549
Ok ( ty:: mk_uniq ( tcx, mt) )
551
550
}
552
551
}
553
552
554
553
( & ty:: ty_ptr( ref a_mt) , & ty:: ty_ptr( ref b_mt) ) => {
555
- do this. mts ( a_mt, b_mt) . chain |mt| {
554
+ do this. mts ( a_mt, b_mt) . chain_move |mt| {
556
555
Ok ( ty:: mk_ptr ( tcx, mt) )
557
556
}
558
557
}
@@ -564,15 +563,15 @@ pub fn super_tys<C:Combine>(
564
563
}
565
564
566
565
( & ty:: ty_evec( ref a_mt, vs_a) , & ty:: ty_evec( ref b_mt, vs_b) ) => {
567
- do this. mts ( a_mt, b_mt) . chain |mt| {
568
- do this. vstores ( ty:: terr_vec, vs_a, vs_b) . chain |vs| {
566
+ do this. mts ( a_mt, b_mt) . chain_move |mt| {
567
+ do this. vstores ( ty:: terr_vec, vs_a, vs_b) . chain_move |vs| {
569
568
Ok ( ty:: mk_evec ( tcx, mt, vs) )
570
569
}
571
570
}
572
571
}
573
572
574
573
( & ty:: ty_estr( vs_a) , & ty:: ty_estr( vs_b) ) => {
575
- do this. vstores ( ty:: terr_str, vs_a, vs_b) . chain |vs| {
574
+ do this. vstores ( ty:: terr_str, vs_a, vs_b) . chain_move |vs| {
576
575
Ok ( ty:: mk_estr ( tcx, vs) )
577
576
}
578
577
}
@@ -581,21 +580,21 @@ pub fn super_tys<C:Combine>(
581
580
if as_. len ( ) == bs. len ( ) {
582
581
result:: collect ( as_. iter ( ) . zip ( bs. iter ( ) )
583
582
. map ( |( a, b) | this. tys ( * a, * b) ) )
584
- . chain ( |ts| Ok ( ty:: mk_tup ( tcx, ts) ) )
583
+ . chain_move ( |ts| Ok ( ty:: mk_tup ( tcx, ts) ) )
585
584
} else {
586
585
Err ( ty:: terr_tuple_size (
587
586
expected_found ( this, as_. len ( ) , bs. len ( ) ) ) )
588
587
}
589
588
}
590
589
591
590
( & ty:: ty_bare_fn( ref a_fty) , & ty:: ty_bare_fn( ref b_fty) ) => {
592
- do this. bare_fn_tys ( a_fty, b_fty) . chain |fty| {
591
+ do this. bare_fn_tys ( a_fty, b_fty) . chain_move |fty| {
593
592
Ok ( ty:: mk_bare_fn ( tcx, fty) )
594
593
}
595
594
}
596
595
597
596
( & ty:: ty_closure( ref a_fty) , & ty:: ty_closure( ref b_fty) ) => {
598
- do this. closure_tys ( a_fty, b_fty) . chain |fty| {
597
+ do this. closure_tys ( a_fty, b_fty) . chain_move |fty| {
599
598
Ok ( ty:: mk_closure ( tcx, fty) )
600
599
}
601
600
}
0 commit comments