Skip to content
Snippets Groups Projects
Commit 30c0e4e9 authored by Carl Lerche's avatar Carl Lerche
Browse files

Merge remote-tracking branch 'alexcrichton/more-object-safe'

parents 8fec8a92 d19c9290
No related branches found
No related tags found
No related merge requests found
...@@ -44,7 +44,7 @@ pub use self::writer::Writer; ...@@ -44,7 +44,7 @@ pub use self::writer::Writer;
* *
*/ */
impl<'a, T: Buf> Buf for &'a mut T { impl<'a, T: Buf + ?Sized> Buf for &'a mut T {
fn remaining(&self) -> usize { fn remaining(&self) -> usize {
(**self).remaining() (**self).remaining()
} }
...@@ -58,7 +58,35 @@ impl<'a, T: Buf> Buf for &'a mut T { ...@@ -58,7 +58,35 @@ impl<'a, T: Buf> Buf for &'a mut T {
} }
} }
impl<'a, T: BufMut> BufMut for &'a mut T { impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T {
fn remaining_mut(&self) -> usize {
(**self).remaining_mut()
}
unsafe fn bytes_mut(&mut self) -> &mut [u8] {
(**self).bytes_mut()
}
unsafe fn advance_mut(&mut self, cnt: usize) {
(**self).advance_mut(cnt)
}
}
impl<T: Buf + ?Sized> Buf for Box<T> {
fn remaining(&self) -> usize {
(**self).remaining()
}
fn bytes(&self) -> &[u8] {
(**self).bytes()
}
fn advance(&mut self, cnt: usize) {
(**self).advance(cnt)
}
}
impl<T: BufMut + ?Sized> BufMut for Box<T> {
fn remaining_mut(&self) -> usize { fn remaining_mut(&self) -> usize {
(**self).remaining_mut() (**self).remaining_mut()
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment