diff --git a/crates/mdbook-core/src/config.rs b/crates/mdbook-core/src/config.rs index 6f2a8a7a03..760af9922e 100644 --- a/crates/mdbook-core/src/config.rs +++ b/crates/mdbook-core/src/config.rs @@ -204,7 +204,7 @@ impl Config { value .clone() .try_into() - .with_context(|| "Failed to deserialize `{name}`") + .with_context(|| format!("Failed to deserialize `{name}`")) }) .transpose() } @@ -1147,4 +1147,18 @@ mod tests { assert_eq!(json!(TextDirection::RightToLeft), json!("rtl")); assert_eq!(json!(TextDirection::LeftToRight), json!("ltr")); } + + #[test] + fn get_deserialize_error() { + let src = r#" + [preprocessor.foo] + x = 123 + "#; + let cfg = Config::from_str(src).unwrap(); + let err = cfg.get::("preprocessor.foo.x").unwrap_err(); + assert_eq!( + err.to_string(), + "Failed to deserialize `preprocessor.foo.x`" + ); + } }