1
1
use super :: { IntoBuf , Writer } ;
2
2
use byteorder:: { LittleEndian , ByteOrder , BigEndian } ;
3
+ #[ cfg( feature = "iovec" ) ]
3
4
use iovec:: IoVec ;
5
+ #[ cfg( feature = "std" ) ]
6
+ use prelude:: * ;
4
7
5
- use std:: { cmp, io, ptr, usize} ;
8
+ use core:: { cmp, ptr, usize} ;
9
+ #[ cfg( feature = "std" ) ]
10
+ use std:: io;
6
11
7
12
/// A trait for values that provide sequential write access to bytes.
8
13
///
@@ -189,6 +194,7 @@ pub trait BufMut {
189
194
/// with `dst` being a zero length slice.
190
195
///
191
196
/// [`readv`]: http://man7.org/linux/man-pages/man2/readv.2.html
197
+ #[ cfg( feature = "iovec" ) ]
192
198
unsafe fn bytes_vec_mut < ' a > ( & ' a mut self , dst : & mut [ & ' a mut IoVec ] ) -> usize {
193
199
if dst. is_empty ( ) {
194
200
return 0 ;
@@ -1072,6 +1078,7 @@ impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T {
1072
1078
( * * self ) . bytes_mut ( )
1073
1079
}
1074
1080
1081
+ #[ cfg( feature = "iovec" ) ]
1075
1082
unsafe fn bytes_vec_mut < ' b > ( & ' b mut self , dst : & mut [ & ' b mut IoVec ] ) -> usize {
1076
1083
( * * self ) . bytes_vec_mut ( dst)
1077
1084
}
@@ -1081,6 +1088,7 @@ impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T {
1081
1088
}
1082
1089
}
1083
1090
1091
+ #[ cfg( feature = "std" ) ]
1084
1092
impl < T : BufMut + ?Sized > BufMut for Box < T > {
1085
1093
fn remaining_mut ( & self ) -> usize {
1086
1094
( * * self ) . remaining_mut ( )
@@ -1099,6 +1107,7 @@ impl<T: BufMut + ?Sized> BufMut for Box<T> {
1099
1107
}
1100
1108
}
1101
1109
1110
+ #[ cfg( feature = "std" ) ]
1102
1111
impl < T : AsMut < [ u8 ] > + AsRef < [ u8 ] > > BufMut for io:: Cursor < T > {
1103
1112
fn remaining_mut ( & self ) -> usize {
1104
1113
use Buf ;
@@ -1127,6 +1136,7 @@ impl<T: AsMut<[u8]> + AsRef<[u8]>> BufMut for io::Cursor<T> {
1127
1136
}
1128
1137
}
1129
1138
1139
+ #[ cfg( feature = "std" ) ]
1130
1140
impl BufMut for Vec < u8 > {
1131
1141
#[ inline]
1132
1142
fn remaining_mut ( & self ) -> usize {
@@ -1148,7 +1158,7 @@ impl BufMut for Vec<u8> {
1148
1158
1149
1159
#[ inline]
1150
1160
unsafe fn bytes_mut ( & mut self ) -> & mut [ u8 ] {
1151
- use std :: slice;
1161
+ use core :: slice;
1152
1162
1153
1163
if self . capacity ( ) == self . len ( ) {
1154
1164
self . reserve ( 64 ) ; // Grow the vec
0 commit comments