diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2020-02-06 12:27:35 +0100 |
|---|---|---|
| committer | Jonas Schievink <jonasschievink@gmail.com> | 2020-02-06 12:27:35 +0100 |
| commit | 84dd07a2c46ed15bf72f4fb552fcf5d89885b13f (patch) | |
| tree | 267462ddc3b4923b8b13534665aa1962279f8369 | |
| parent | fb66b9ee3bd46448480560110ff3095e4f7488a0 (diff) | |
| download | rust-84dd07a2c46ed15bf72f4fb552fcf5d89885b13f.tar.gz rust-84dd07a2c46ed15bf72f4fb552fcf5d89885b13f.zip | |
Simplify implicit resume argument
| -rw-r--r-- | src/librustc_mir_build/build/mod.rs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/librustc_mir_build/build/mod.rs b/src/librustc_mir_build/build/mod.rs index ccfee2d2bb2..28e6ae9e6db 100644 --- a/src/librustc_mir_build/build/mod.rs +++ b/src/librustc_mir_build/build/mod.rs @@ -83,21 +83,15 @@ fn mir_build(tcx: TyCtxt<'_>, def_id: DefId) -> BodyAndCache<'_> { abi = Abi::Rust; vec![ArgInfo(liberated_closure_env_ty(tcx, id, body_id), None, None, None)] } - ty::Generator(def_id, _, _) => { + ty::Generator(..) => { let gen_ty = tcx.body_tables(body_id).node_type(id); // The resume argument may be missing, in that case we need to provide it here. + // It will always be `()` in this case. if body.params.is_empty() { - let resume_ty = match gen_ty.kind { - ty::Generator(_, substs, _) => { - substs.as_generator().resume_ty(def_id, tcx) - } - _ => bug!(), - }; - vec![ ArgInfo(gen_ty, None, None, None), - ArgInfo(resume_ty, None, None, None), + ArgInfo(tcx.mk_unit(), None, None, None), ] } else { vec![ArgInfo(gen_ty, None, None, None)] |
