File tree Expand file tree Collapse file tree 4 files changed +17
-2
lines changed Expand file tree Collapse file tree 4 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -12,11 +12,11 @@ keywords = ["debugging", "development-tools"]
1212# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313
1414[dependencies ]
15+ base64 = " 0.22.1"
1516num-traits = " 0.2"
1617num-derive = " 0.4"
1718serde = { version = " 1.0" , features = [" derive" ] }
1819serde_json = " 1.0"
19- serde_bytes = " 0.11.17"
2020serde_repr = " 0.1"
2121
2222[lib ]
Original file line number Diff line number Diff line change 1+ use base64:: Engine ;
2+ use serde:: { Deserialize , Serialize } ;
3+ use serde:: { Deserializer , Serializer } ;
4+
5+ pub fn serialize < S : Serializer > ( v : & Vec < u8 > , s : S ) -> Result < S :: Ok , S :: Error > {
6+ let base64 = base64:: engine:: general_purpose:: STANDARD . encode ( v) ;
7+ String :: serialize ( & base64, s)
8+ }
9+
10+ pub fn deserialize < ' de , D : Deserializer < ' de > > ( d : D ) -> Result < Vec < u8 > , D :: Error > {
11+ let base64 = String :: deserialize ( d) ?;
12+ base64:: engine:: general_purpose:: STANDARD . decode ( base64. as_bytes ( ) ) . map_err ( serde:: de:: Error :: custom)
13+ }
Original file line number Diff line number Diff line change 1010//! The format is documented in `docs/` and the README.
1111mod tracer;
1212mod types;
13+ mod base64;
1314pub use crate :: tracer:: { Tracer , NONE_TYPE_ID , NONE_VALUE } ;
1415pub use crate :: types:: * ;
1516
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ use std::path::PathBuf;
99use num_derive:: FromPrimitive ;
1010use serde:: { Deserialize , Serialize } ;
1111use serde_repr:: * ;
12+ use crate :: base64;
1213
1314// currently, we do assume that we record the whole program
1415// so, we try to include minimal amount of data,
@@ -387,7 +388,7 @@ pub enum ValueRecord {
387388 place : Place ,
388389 } ,
389390 BigInt {
390- #[ serde( with = "serde_bytes " ) ]
391+ #[ serde( with = "base64 " ) ]
391392 b : Vec < u8 > , // Base64 encoded bytes of a big-endian unsigned integer
392393 negative : bool ,
393394 type_id : TypeId ,
You can’t perform that action at this time.
0 commit comments