#[non_exhaustive]pub struct Io<R: Read, W: Write, E: Write> {
pub stdin: R,
pub stdout: W,
pub stderr: E,
}Expand description
Explicit I/O handles for run.
The binary’s main wraps stdin().lock(), stdout().lock(), and
stderr().lock(); tests use byte slices and Vec<u8> writers.
Holding the three together avoids threading three generics through
the call sites.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.stdin: RStandard input source (the records to cluster).
stdout: WStandard output sink (the rendered envelope).
stderr: EStandard error sink (--verbose provenance + skip warnings).
Implementations§
Auto Trait Implementations§
impl<R, W, E> Freeze for Io<R, W, E>
impl<R, W, E> RefUnwindSafe for Io<R, W, E>
impl<R, W, E> Send for Io<R, W, E>
impl<R, W, E> Sync for Io<R, W, E>
impl<R, W, E> Unpin for Io<R, W, E>
impl<R, W, E> UnsafeUnpin for Io<R, W, E>
impl<R, W, E> UnwindSafe for Io<R, W, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more