diff --git a/buffer/src/lib.rs b/buffer/src/lib.rs index e02615da..c078d2a3 100644 --- a/buffer/src/lib.rs +++ b/buffer/src/lib.rs @@ -42,10 +42,10 @@ mod std { } mod fragments; -mod stream; +pub mod stream; mod value; #[cfg(feature = "alloc")] fn assert_static(_: &mut T) {} -pub use self::{error::*, fragments::*, stream::*, value::*}; +pub use self::{error::*, fragments::*, stream::Stream, value::*}; diff --git a/buffer/src/stream.rs b/buffer/src/stream.rs index ea3fc272..d82b35bd 100644 --- a/buffer/src/stream.rs +++ b/buffer/src/stream.rs @@ -9,6 +9,8 @@ use self::flat::FlatStream; mod flat; mod flat_enum; +pub use sval_ref::{Ref, ValueRef}; + pub trait Stream<'sval> { type Ok; @@ -718,7 +720,7 @@ pub mod default_stream { let mut seq = stream.seq_begin(Some(binary.len()))?; for b in binary { - seq.value_computed(b)?; + StreamSeq::value_computed(&mut seq, b)?; } seq.end() diff --git a/buffer/src/stream/flat.rs b/buffer/src/stream/flat.rs index c59e0078..7438348f 100644 --- a/buffer/src/stream/flat.rs +++ b/buffer/src/stream/flat.rs @@ -1,8 +1,8 @@ use core::{fmt, marker::PhantomData, mem}; use crate::{ - BinaryBuf, Error, Result, Stream, StreamEnum, StreamMap, StreamRecord, StreamSeq, StreamTuple, - TextBuf, ValueBuf, + stream::{Stream, StreamEnum, StreamMap, StreamRecord, StreamSeq, StreamTuple}, + BinaryBuf, Error, Result, TextBuf, ValueBuf, }; use super::{flat_enum::FlatStreamEnum, owned_label_ref}; @@ -822,9 +822,9 @@ impl<'sval, S: Stream<'sval>> State<'sval, S> { self.value_with( |stream| any(stream, value), |stream, tag, label, index| stream.tagged(tag, label, index, value), - |stream| stream.value(value), - |stream| stream.key(value), - |stream| stream.value(value), + |stream| StreamSeq::value(stream, value), + |stream| StreamMap::key(stream, value), + |stream| StreamMap::value(stream, value), |stream, tag, index| stream.value(tag, index, value), |stream, tag, label| stream.value(tag, label, value), |stream, tag, label, index| stream.tagged(tag, label, index, value), @@ -841,9 +841,9 @@ impl<'sval, S: Stream<'sval>> State<'sval, S> { self.value_with( |stream| any(stream, value), |stream, tag, label, index| stream.tagged_computed(tag, label, index, value), - |stream| stream.value_computed(value), - |stream| stream.key_computed(value), - |stream| stream.value_computed(value), + |stream| StreamSeq::value_computed(stream, value), + |stream| StreamMap::key_computed(stream, value), + |stream| StreamMap::value_computed(stream, value), |stream, tag, index| stream.value_computed(tag, index, value), |stream, tag, label| stream.value_computed(tag, label, value), |stream, tag, label, index| stream.tagged_computed(tag, label, index, value), diff --git a/buffer/src/stream/flat_enum.rs b/buffer/src/stream/flat_enum.rs index 103413c3..61327c45 100644 --- a/buffer/src/stream/flat_enum.rs +++ b/buffer/src/stream/flat_enum.rs @@ -1,4 +1,7 @@ -use crate::{default_stream, Error, Result, Stream, StreamEnum, Unsupported}; +use crate::{ + stream::{default_stream, Stream, StreamEnum, Unsupported}, + Error, Result, +}; use super::owned_label; diff --git a/serde/src/to_serialize.rs b/serde/src/to_serialize.rs index 6a808b90..a74b1549 100644 --- a/serde/src/to_serialize.rs +++ b/serde/src/to_serialize.rs @@ -1,6 +1,6 @@ use serde::ser::{Error as _, Serialize as _}; -use sval_buffer::{ +use sval_buffer::stream::{ Stream, StreamEnum, StreamMap, StreamRecord, StreamSeq, StreamTuple, Unsupported, };