mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-14 00:00:13 +02:00
Bytes reader should be Send
This commit is contained in:
+3
-3
@@ -295,7 +295,7 @@ impl<T: io::Write> WriteExt for T {
|
||||
*
|
||||
*/
|
||||
|
||||
impl Buf for Box<Buf+'static> {
|
||||
impl Buf for Box<Buf+Send+'static> {
|
||||
fn remaining(&self) -> usize {
|
||||
(**self).remaining()
|
||||
}
|
||||
@@ -313,7 +313,7 @@ impl Buf for Box<Buf+'static> {
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for Box<Buf+'static> {
|
||||
impl fmt::Debug for Box<Buf+Send+'static> {
|
||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(fmt, "Box<Buf> {{ remaining: {} }}", self.remaining())
|
||||
}
|
||||
@@ -409,7 +409,7 @@ macro_rules! impl_read {
|
||||
impl_read!(ByteBuf);
|
||||
impl_read!(ROByteBuf);
|
||||
impl_read!(RopeBuf);
|
||||
impl_read!(Box<Buf+'static>);
|
||||
impl_read!(Box<Buf+Send+'static>);
|
||||
|
||||
macro_rules! impl_write {
|
||||
($ty:ty) => {
|
||||
|
||||
+4
-4
@@ -132,9 +132,9 @@ fn inline<B: ByteStr>() -> bool {
|
||||
|
||||
impl ByteStr for Bytes {
|
||||
|
||||
type Buf = Box<Buf+'static>;
|
||||
type Buf = Box<Buf+Send+'static>;
|
||||
|
||||
fn buf(&self) -> Box<Buf+'static> {
|
||||
fn buf(&self) -> Box<Buf+Send+'static> {
|
||||
self.obj().buf()
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ unsafe impl Sync for Bytes { }
|
||||
|
||||
trait ByteStrPriv {
|
||||
|
||||
fn buf(&self) -> Box<Buf+'static>;
|
||||
fn buf(&self) -> Box<Buf+Send+'static>;
|
||||
|
||||
fn clone(&self) -> Bytes;
|
||||
|
||||
@@ -221,7 +221,7 @@ trait ByteStrPriv {
|
||||
|
||||
impl<B: ByteStr> ByteStrPriv for B {
|
||||
|
||||
fn buf(&self) -> Box<Buf+'static> {
|
||||
fn buf(&self) -> Box<Buf+Send+'static> {
|
||||
Box::new(self.buf())
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ use std::any::Any;
|
||||
pub trait ByteStr : Clone + Sized + Send + Sync + Any + ToBytes + ops::Index<usize, Output=u8> + 'static {
|
||||
|
||||
// Until HKT lands, the buf must be bound by 'static
|
||||
type Buf: Buf+'static;
|
||||
type Buf: Buf+Send+'static;
|
||||
|
||||
/// Returns a read-only `Buf` for accessing the byte contents of the
|
||||
/// `ByteStr`.
|
||||
|
||||
+1
-1
@@ -294,7 +294,7 @@ pub struct RopeBuf {
|
||||
// escape (which it shouldn't) it is safe. Doing this properly would
|
||||
// require HKT.
|
||||
pieces: PieceIter<'static>,
|
||||
leaf_buf: Option<Box<Buf+'static>>,
|
||||
leaf_buf: Option<Box<Buf+Send+'static>>,
|
||||
}
|
||||
|
||||
impl RopeBuf {
|
||||
|
||||
Reference in New Issue
Block a user