11use super :: { IntoBuf , Writer } ;
22use byteorder:: { LittleEndian , ByteOrder , BigEndian } ;
3+ #[ cfg( feature = "iovec" ) ]
34use iovec:: IoVec ;
5+ #[ cfg( feature = "std" ) ]
6+ use prelude:: * ;
47
5- use std:: { cmp, io, ptr, usize} ;
8+ use core:: { cmp, ptr, usize} ;
9+ #[ cfg( feature = "std" ) ]
10+ use std:: io;
611
712/// A trait for values that provide sequential write access to bytes.
813///
@@ -189,6 +194,7 @@ pub trait BufMut {
189194 /// with `dst` being a zero length slice.
190195 ///
191196 /// [`readv`]: http://man7.org/linux/man-pages/man2/readv.2.html
197+ #[ cfg( feature = "iovec" ) ]
192198 unsafe fn bytes_vec_mut < ' a > ( & ' a mut self , dst : & mut [ & ' a mut IoVec ] ) -> usize {
193199 if dst. is_empty ( ) {
194200 return 0 ;
@@ -1072,6 +1078,7 @@ impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T {
10721078 ( * * self ) . bytes_mut ( )
10731079 }
10741080
1081+ #[ cfg( feature = "iovec" ) ]
10751082 unsafe fn bytes_vec_mut < ' b > ( & ' b mut self , dst : & mut [ & ' b mut IoVec ] ) -> usize {
10761083 ( * * self ) . bytes_vec_mut ( dst)
10771084 }
@@ -1081,6 +1088,7 @@ impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T {
10811088 }
10821089}
10831090
1091+ #[ cfg( feature = "std" ) ]
10841092impl < T : BufMut + ?Sized > BufMut for Box < T > {
10851093 fn remaining_mut ( & self ) -> usize {
10861094 ( * * self ) . remaining_mut ( )
@@ -1099,6 +1107,7 @@ impl<T: BufMut + ?Sized> BufMut for Box<T> {
10991107 }
11001108}
11011109
1110+ #[ cfg( feature = "std" ) ]
11021111impl < T : AsMut < [ u8 ] > + AsRef < [ u8 ] > > BufMut for io:: Cursor < T > {
11031112 fn remaining_mut ( & self ) -> usize {
11041113 use Buf ;
@@ -1127,6 +1136,7 @@ impl<T: AsMut<[u8]> + AsRef<[u8]>> BufMut for io::Cursor<T> {
11271136 }
11281137}
11291138
1139+ #[ cfg( feature = "std" ) ]
11301140impl BufMut for Vec < u8 > {
11311141 #[ inline]
11321142 fn remaining_mut ( & self ) -> usize {
@@ -1148,7 +1158,7 @@ impl BufMut for Vec<u8> {
11481158
11491159 #[ inline]
11501160 unsafe fn bytes_mut ( & mut self ) -> & mut [ u8 ] {
1151- use std :: slice;
1161+ use core :: slice;
11521162
11531163 if self . capacity ( ) == self . len ( ) {
11541164 self . reserve ( 64 ) ; // Grow the vec
0 commit comments