Skip to main content

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}