nanvm_lib/vm/number/debug.rs
1use core::fmt::{Debug, Formatter, Result};
2
3use crate::vm::Number;
4
5/// The bare `f64`, as every other `Unpacked` payload prints bare: a numeric
6/// `Any` reads `1.0`, not `Number(1.0)`, in a test's failure message.
7impl Debug for Number {
8 fn fmt(&self, f: &mut Formatter<'_>) -> Result {
9 self.0.fmt(f)
10 }
11}
12
13#[cfg(test)]
14mod tests {
15 use crate::{
16 naive::Naive,
17 vm::{Any, Number, ToAny},
18 };
19
20 #[test]
21 fn bare_through_any() {
22 let one: Any<Naive> = Number::from(1.0).to_any();
23 assert_eq!(format!("{one:?}"), "1.0");
24 assert_eq!(format!("{:?}", Number::NAN), "NaN");
25 }
26}