0.18 primitive: FrameSource/FrameSink trait split (deprecate Stream)
Splits the bidirectional pes::Stream into one-direction traits so calling read() on a write-only sink is a compile error instead of runtime E9001. Keeps Stream alive as deprecated through 0.18 with a blanket FrameSource impl so existing concrete types compile unchanged. FrameSink can't be blanket-impl'd from Stream (different finish signature), so concrete impls migrate per-type in a follow-up. Concrete `impl pes::Stream for X` blocks in mux/* and the existing tests gain a one-line `#[allow(deprecated)]` to keep `-D warnings` clean during the deprecation window — no behavior changes. See freemkv-private/memory/0_18_redesign.md. Single contributor: MattJackson.
This commit is contained in:
@@ -16,6 +16,7 @@ impl NullStream {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)] // 0.18 trait split: migrate to FrameSink in follow-up commit.
|
||||
impl crate::pes::Stream for NullStream {
|
||||
fn read(&mut self) -> io::Result<Option<crate::pes::PesFrame>> {
|
||||
Ok(None)
|
||||
|
||||
Reference in New Issue
Block a user