Skip to content

Commit 135939c

Browse files
committed
amd-efs#99 Improve dumping of image contents with unknown parts.
1 parent d2b1f05 commit 135939c

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ strum_macros = { version = "0.23.1" }
2828
zerocopy = "0.6"
2929
thiserror = { version = "1.0.38", optional = true }
3030
memoffset = "0.5"
31+
quote = { version = "1.0.33", default-features = false, features = [] }
3132

3233
[features]
3334
default = []

src/serializers.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#![cfg(feature = "serde")]
77

88
use crate::ondisk::*;
9+
use quote::quote;
910

1011
// Note: This is written such that it will fail if the underlying struct has fields added/removed/renamed--if those have a public setter.
1112
macro_rules! make_serde{($StructName:ident, $SerdeStructName:ident, [$($field_name:ident),* $(,)?]
@@ -28,7 +29,10 @@ macro_rules! make_serde{($StructName:ident, $SerdeStructName:ident, [$($field_na
2829
where S: serde::Serializer, {
2930
$SerdeStructName {
3031
$(
31-
$field_name: self.[<serde_ $field_name>]().map_err(|_| serde::ser::Error::custom("value unknown"))?.into(),
32+
$field_name: self.[<serde_ $field_name>]()
33+
.map_err(|_| serde::ser::Error::custom(format!("textual representation of value {:?} for field {:?}.{:?} unknown",
34+
self.[<$field_name>](), quote!($StructName), quote!($field_name))))?
35+
.into(),
3236
)*
3337
}.serialize(serializer)
3438
}

0 commit comments

Comments
 (0)