oxilean_codegen/opt_ctfe/
ctfevalue_traits.rs1use super::types::CtfeValue;
12use std::fmt;
13
14impl fmt::Display for CtfeValue {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 match self {
17 CtfeValue::Int(n) => write!(f, "{}", n),
18 CtfeValue::Float(x) => write!(f, "{}", x),
19 CtfeValue::Bool(b) => write!(f, "{}", b),
20 CtfeValue::String(s) => write!(f, "\"{}\"", s),
21 CtfeValue::List(xs) => {
22 write!(f, "[")?;
23 for (i, v) in xs.iter().enumerate() {
24 if i > 0 {
25 write!(f, ", ")?;
26 }
27 write!(f, "{}", v)?;
28 }
29 write!(f, "]")
30 }
31 CtfeValue::Tuple(xs) => {
32 write!(f, "(")?;
33 for (i, v) in xs.iter().enumerate() {
34 if i > 0 {
35 write!(f, ", ")?;
36 }
37 write!(f, "{}", v)?;
38 }
39 write!(f, ")")
40 }
41 CtfeValue::Constructor(name, fields) => {
42 write!(f, "{}", name)?;
43 if !fields.is_empty() {
44 write!(f, "(")?;
45 for (i, v) in fields.iter().enumerate() {
46 if i > 0 {
47 write!(f, ", ")?;
48 }
49 write!(f, "{}", v)?;
50 }
51 write!(f, ")")?;
52 }
53 Ok(())
54 }
55 CtfeValue::Undef => write!(f, "undef"),
56 }
57 }
58}