1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
//! # Term - Trait Implementations //! //! This module contains trait implementations for `Term`. //! //! ## Implemented Traits //! //! - `Display` //! //! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs) use super::types::Term; use std::fmt; impl std::fmt::Display for Term { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Term::Var(i) => write!(f, "x{}", i), Term::Fun(name, args) => { if args.is_empty() { write!(f, "{}", name) } else { write!( f, "{}({})", name, args.iter() .map(|a| a.to_string()) .collect::<Vec<_>>() .join(", ") ) } } } } }