rust/tests/ui/coroutine/unsized-capture-across-yield.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
537 B
Rust
Raw Normal View History

2023-10-19 16:46:28 -05:00
#![feature(coroutine_trait)]
#![feature(coroutines)]
#![feature(unsized_locals)]
//~^ WARN the feature `unsized_locals` is incomplete and may not be safe to use and/or cause compiler crashes
2023-10-19 11:06:43 -05:00
use std::ops::Coroutine;
2023-10-19 11:06:43 -05:00
fn capture() -> impl Coroutine {
let b: [u8] = *(Box::new([]) as Box<[u8]>);
#[coroutine]
move || {
println!("{:?}", &b);
//~^ ERROR the size for values of type `[u8]` cannot be known at compilation time
yield;
for elem in b.iter() {}
}
}
fn main() {
capture();
}