70
70
}
71
71
}
72
72
73
+ impl < Ctx : Copy , T > DekuWrite < Ctx > for [ T ]
74
+ where
75
+ T : DekuWrite < Ctx > ,
76
+ {
77
+ fn write ( & self , output : & mut BitVec < u8 , Msb0 > , ctx : Ctx ) -> Result < ( ) , DekuError > {
78
+ for v in self {
79
+ v. write ( output, ctx) ?;
80
+ }
81
+ Ok ( ( ) )
82
+ }
83
+ }
84
+
73
85
#[ cfg( test) ]
74
86
mod tests {
75
87
use crate :: DekuWrite ;
@@ -106,7 +118,6 @@ mod tests {
106
118
assert_eq ! ( expected, res_write. into_vec( ) ) ;
107
119
}
108
120
109
- #[ cfg( feature = "const_generics" ) ]
110
121
#[ rstest( input, endian, expected, expected_rest,
111
122
case:: normal_le(
112
123
[ 0xDD , 0xCC , 0xBB , 0xAA , 0x99 , 0x88 , 0x77 , 0x66 ] . as_ref( ) ,
@@ -139,7 +150,6 @@ mod tests {
139
150
assert_eq ! ( expected, res_read) ;
140
151
}
141
152
142
- #[ cfg( feature = "const_generics" ) ]
143
153
#[ rstest( input, endian, expected,
144
154
case:: normal_le(
145
155
[ [ 0xCCDD , 0xAABB ] , [ 0x8899 , 0x6677 ] ] ,
@@ -163,4 +173,13 @@ mod tests {
163
173
input. write ( & mut res_write, endian) . unwrap ( ) ;
164
174
assert_eq ! ( expected, res_write. into_vec( ) ) ;
165
175
}
176
+
177
+ #[ test]
178
+ fn test_issue270 ( ) {
179
+ let num = [ 1 , 1 ] ;
180
+ let mut res_write = bitvec ! [ u8 , Msb0 ; ] ;
181
+ num. write ( & mut res_write, ( ) ) . unwrap ( ) ;
182
+ <[ u8 ] >:: write ( num. as_ref ( ) , & mut res_write, ( ) ) . unwrap ( ) ;
183
+ <& [ u8 ] >:: write ( & num. as_ref ( ) , & mut res_write, ( ) ) . unwrap ( ) ;
184
+ }
166
185
}
0 commit comments