mod bindings { wit_bindgen::generate!({ path: "../misc/component-async-tests/wit", world: "closed-streams", async: true, }); use super::Component; export!(Component); } use { bindings::exports::local::local::closed::Guest, wit_bindgen_rt::async_support::{FutureReader, StreamReader, StreamResult}, }; struct Component; impl Guest for Component { async fn read_stream(mut rx: StreamReader, expected: Vec) { let (result, buf) = rx.read(Vec::with_capacity(expected.len())).await; assert_eq!(result, StreamResult::Complete(expected.len())); assert_eq!(buf, expected); } async fn read_future(rx: FutureReader, expected: u8, _rx_ignored: FutureReader) { assert_eq!(rx.await, expected); } } // Unused function; required since this file is built as a `bin`: fn main() {}