0.18 primitive: crate::io::Pipeline + Sink trait

Generic bounded producer/consumer pipeline. The same shape applies to
sweep, patch, and mux today via three near-duplicate implementations
(or, in patch's and mux's case, no implementation at all). 0.18
collapses them onto one primitive. See
(internal)/memory/0_18_redesign.md for full context.

Single contributor: MattJackson.
This commit is contained in:
MattJackson
2026-05-09 08:56:31 -07:00
parent 6ec97af104
commit 57f2c22e30
2 changed files with 417 additions and 0 deletions
+9
View File
@@ -13,4 +13,13 @@
mod writeback;
mod writer;
pub mod pipeline;
pub(crate) use writer::Writer;
// Re-exports for the 0.18 redesign. Currently flagged unused because
// no in-tree call site has been migrated yet (sweep is still on
// `disc/sweep_pipeline.rs`; patch and mux have no pipeline). The next
// 0.18 slice removes this allow as it wires up the first consumer.
#[allow(unused_imports)]
pub use pipeline::{Apply, DEFAULT_DEPTH, Pipeline, Sink};