1
1
use crate :: { Repr , SmolStr , INLINE_CAP } ;
2
2
use alloc:: string:: { String , ToString } ;
3
- use borsh:: io:: { Error , ErrorKind , Read , Write } ;
4
- use borsh:: { BorshDeserialize , BorshSerialize } ;
5
- use core:: intrinsics:: transmute;
3
+ use borsh:: {
4
+ io:: { Error , ErrorKind , Read , Write } ,
5
+ BorshDeserialize , BorshSerialize ,
6
+ } ;
7
+ use core:: mem:: transmute;
6
8
7
9
impl BorshSerialize for SmolStr {
8
10
fn serialize < W : Write > ( & self , writer : & mut W ) -> borsh:: io:: Result < ( ) > {
@@ -27,12 +29,8 @@ impl BorshDeserialize for SmolStr {
27
29
} ) )
28
30
} else {
29
31
// u8::vec_from_reader always returns Some on success in current implementation
30
- let vec = u8:: vec_from_reader ( len, reader) ?. ok_or_else ( || {
31
- Error :: new (
32
- ErrorKind :: Other ,
33
- "u8::vec_from_reader unexpectedly returned None" . to_string ( ) ,
34
- )
35
- } ) ?;
32
+ let vec = u8:: vec_from_reader ( len, reader) ?
33
+ . ok_or_else ( || Error :: other ( "u8::vec_from_reader unexpectedly returned None" ) ) ?;
36
34
Ok ( SmolStr :: from ( String :: from_utf8 ( vec) . map_err ( |err| {
37
35
let msg = err. to_string ( ) ;
38
36
Error :: new ( ErrorKind :: InvalidData , msg)
0 commit comments