@@ -9,6 +9,8 @@ use core::ops::{Deref, DerefMut};
9
9
use serde:: de:: { Deserialize , Deserializer , Error , SeqAccess , Visitor } ;
10
10
use serde:: ser:: { Serialize , Serializer } ;
11
11
12
+ const ERROR_STRING : & str = "Expected a fixed amount of bytes, got a different amount" ;
13
+
12
14
/// Wrapper around `[u8; N]` to serialize and deserialize efficiently.
13
15
///
14
16
/// ```
@@ -189,21 +191,15 @@ impl<'de, const N: usize> Visitor<'de> for ByteArrayVisitor<N> {
189
191
let mut idx = 0 ;
190
192
while let Some ( b) = visitor. next_element ( ) ? {
191
193
if idx >= N {
192
- return Err ( V :: Error :: custom ( format ! (
193
- "Expected [u8; {0}], got more than {0} elements" ,
194
- N
195
- ) ) ) ;
194
+ return Err ( V :: Error :: custom ( ERROR_STRING ) ) ;
196
195
}
197
196
198
197
bytes[ idx] = b;
199
198
idx += 1 ;
200
199
}
201
200
202
201
if idx != N {
203
- return Err ( V :: Error :: custom ( format ! (
204
- "Expected [u8; {}], got [u8; {}]" ,
205
- N , idx
206
- ) ) ) ;
202
+ return Err ( V :: Error :: custom ( ERROR_STRING ) ) ;
207
203
}
208
204
209
205
Ok ( ByteArray :: from ( bytes) )
@@ -214,20 +210,7 @@ impl<'de, const N: usize> Visitor<'de> for ByteArrayVisitor<N> {
214
210
E : Error ,
215
211
{
216
212
Ok ( ByteArray {
217
- bytes : v
218
- . try_into ( )
219
- . map_err ( |_| E :: custom ( format ! ( "Expected [u8; {}]" , N ) ) ) ?,
220
- } )
221
- }
222
-
223
- fn visit_byte_buf < E > ( self , v : Vec < u8 > ) -> Result < ByteArray < N > , E >
224
- where
225
- E : Error ,
226
- {
227
- Ok ( ByteArray {
228
- bytes : v
229
- . try_into ( )
230
- . map_err ( |_| E :: custom ( format ! ( "Expected [u8; {}]" , N ) ) ) ?,
213
+ bytes : v. try_into ( ) . map_err ( |_| E :: custom ( ERROR_STRING ) ) ?,
231
214
} )
232
215
}
233
216
@@ -239,19 +222,7 @@ impl<'de, const N: usize> Visitor<'de> for ByteArrayVisitor<N> {
239
222
bytes : v
240
223
. as_bytes ( )
241
224
. try_into ( )
242
- . map_err ( |_| E :: custom ( format ! ( "Expected [u8; {}]" , N ) ) ) ?,
243
- } )
244
- }
245
-
246
- fn visit_string < E > ( self , v : String ) -> Result < ByteArray < N > , E >
247
- where
248
- E : Error ,
249
- {
250
- Ok ( ByteArray {
251
- bytes : v
252
- . as_bytes ( )
253
- . try_into ( )
254
- . map_err ( |_| E :: custom ( format ! ( "Expected [u8; {}]" , N ) ) ) ?,
225
+ . map_err ( |_| E :: custom ( ERROR_STRING ) ) ?,
255
226
} )
256
227
}
257
228
}
0 commit comments