git.delta.rocks / jrsonnet / refs/commits / 09cd060f0278

difftreelog

fix bigint serialization in ToStringFormat

Valery Klachkov2025-08-21parent: #6baa18d.patch.diff
in: master

2 files changed

modifiedcrates/jrsonnet-evaluator/src/manifest.rsdiffbeforeafterboth
355 out.push_str(&str);355 out.push_str(&str);
356 return Ok(());356 return Ok(());
357 }357 }
358 #[cfg(feature = "exp-bigint")]
359 if let Some(int) = val.as_bigint() {
360 out.push_str(&int.to_str_radix(10));
361 return Ok(());
362 }
358 JSON_TO_STRING.manifest_buf(val, out)363 JSON_TO_STRING.manifest_buf(val, out)
359 }364 }
360 fn file_trailing_newline(&self) -> bool {365 fn file_trailing_newline(&self) -> bool {
modifiedcrates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/val.rs
+++ b/crates/jrsonnet-evaluator/src/val.rs
@@ -582,6 +582,13 @@
 			_ => None,
 		}
 	}
+	#[cfg(feature = "exp-bigint")]
+	pub fn as_bigint(&self) -> Option<num_bigint::BigInt> {
+		match self {
+			Self::BigInt(n) => Some(*n.clone()),
+			_ => None,
+		}
+	}
 	pub fn as_arr(&self) -> Option<ArrValue> {
 		match self {
 			Self::Arr(a) => Some(a.clone()),