diff options
| author | Giles Cope <gilescope@gmail.com> | 2019-03-06 08:45:18 +0000 |
|---|---|---|
| committer | Giles Cope <gilescope@gmail.com> | 2019-03-06 08:45:18 +0000 |
| commit | 143e7d57321babc6fe993df370e0b54861443c11 (patch) | |
| tree | 3870cc180643db24289d05c77187c198f69ce48f | |
| parent | fcec51d1efb9f2c445d503d0e7f8837088190d09 (diff) | |
| download | rust-143e7d57321babc6fe993df370e0b54861443c11.tar.gz rust-143e7d57321babc6fe993df370e0b54861443c11.zip | |
Desugared asyncs into generators and minimised.
| -rw-r--r-- | src/test/run-pass/generator/issue-57084.rs | 25 |
1 files 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 f6bc93cd937..8aaa6a0e427 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: F) -> impl Generator<Yield=(), Return=()> +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() {} |
