]> git.lizzy.rs Git - rust.git/commitdiff
Fix upstream changes
authorJohn Kåre Alsaker <john.kare.alsaker@gmail.com>
Tue, 11 Jul 2017 23:26:31 +0000 (01:26 +0200)
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>
Fri, 28 Jul 2017 13:46:24 +0000 (15:46 +0200)
src/librustc/traits/project.rs

index 91d6fac26f1bbc2c674d8b5f0940eb94982c994c..b97c2b77d10e97a7988c8ee0e7ca7371ae0198ce 100644 (file)
@@ -1158,10 +1158,10 @@ fn confirm_generator_candidate<'cx, 'gcx, 'tcx>(
     // Note: we unwrap the binder here but re-create it below (1)
     let ty::Binder((trait_ref, yield_ty, return_ty)) =
         tcx.generator_trait_ref_and_outputs(gen_def_id,
-                                            obligation.predicate.trait_ref.self_ty(),
+                                            obligation.predicate.self_ty(),
                                             gen_sig);
 
-    let name = obligation.predicate.item_name(tcx);
+    let name = tcx.associated_item(obligation.predicate.item_def_id).name;
     let ty = if name == Symbol::intern("Return") {
         return_ty
     } else if name == Symbol::intern("Yield") {
@@ -1172,7 +1172,7 @@ fn confirm_generator_candidate<'cx, 'gcx, 'tcx>(
 
     let predicate = ty::Binder(ty::ProjectionPredicate { // (1) recreate binder here
         projection_ty: ty::ProjectionTy {
-            trait_ref: trait_ref,
+            substs: trait_ref.substs,
             item_def_id: obligation.predicate.item_def_id,
         },
         ty: ty