From ef4eabd3270e4691bc74db29ea05bb264f9fee68 Mon Sep 17 00:00:00 2001 From: Alex Orlenko Date: Tue, 1 Jul 2025 22:51:16 +0100 Subject: [PATCH] Don't use `Value::as_str()` internally --- src/serde/ser.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serde/ser.rs b/src/serde/ser.rs index 81b2468..1d717a7 100644 --- a/src/serde/ser.rs +++ b/src/serde/ser.rs @@ -529,8 +529,8 @@ impl ser::SerializeStruct for SerializeStruct<'_> { fn end(self) -> Result { match self.inner { Some(table @ Value::Table(_)) => Ok(table), - Some(value) if self.options.detect_serde_json_arbitrary_precision => { - let number_s = value.as_str().expect("not an arbitrary precision number"); + Some(value @ Value::String(_)) if self.options.detect_serde_json_arbitrary_precision => { + let number_s = value.to_string()?; if number_s.contains(['.', 'e', 'E']) { if let Ok(number) = number_s.parse().map(Value::Number) { return Ok(number);