From 143e7d57321babc6fe993df370e0b54861443c11 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 6 Mar 2019 08:45:18 +0000 Subject: [PATCH] Desugared asyncs into generators and minimised. --- src/test/run-pass/generator/issue-57084.rs | 25 +++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/test/run-pass/generator/issue-57084.rs b/src/test/run-pass/generator/issue-57084.rs index f6bc93cd9375f..8aaa6a0e427d1 100644 --- a/src/test/run-pass/generator/issue-57084.rs +++ b/src/test/run-pass/generator/issue-57084.rs @@ -1,27 +1,28 @@ // This issue reproduces an ICE on compile (E.g. fails on 2018-12-19 nightly). +// "cannot relate bound region: ReLateBound(DebruijnIndex(1), BrAnon(1)) <= '_#1r" // run-pass // edition:2018 -#![feature(async_await,futures_api,generators)] +#![feature(generators,generator_trait)] +use std::ops::Generator; -pub struct Foo; - -impl Foo { - async fn with<'a, F, R>(&'a self, f: F) -> R - where F: Fn() -> R + 'a, - { +fn with(f: F) -> impl Generator +where F: Fn() -> () +{ + move || { loop { match f() { _ => yield, } } } +} - pub async fn run<'a>(&'a self, data: &'a [u8]) - { - let _to_pin = self.with(move || println!("{:p}", data)); +fn main() { + let data = &vec![1]; + || { + let _to_pin = with(move || println!("{:p}", data)); loop { yield } - } + }; } -fn main() {}