Skip to main content

oxilean_codegen/to_lcnf/
conversionstats_traits.rs

1//! # ConversionStats - Trait Implementations
2//!
3//! This module contains trait implementations for `ConversionStats`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use crate::lcnf::*;
12
13use super::types::ConversionStats;
14use std::fmt;
15
16impl fmt::Display for ConversionStats {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        writeln!(f, "Conversion Statistics:")?;
19        writeln!(f, "  Expressions visited:   {}", self.exprs_visited)?;
20        writeln!(
21            f,
22            "  Let bindings:          {}",
23            self.let_bindings_generated
24        )?;
25        writeln!(f, "  Lambdas lifted:        {}", self.lambdas_lifted)?;
26        writeln!(f, "  Proofs erased:         {}", self.proofs_erased)?;
27        writeln!(f, "  Types erased:          {}", self.types_erased)?;
28        writeln!(f, "  Closures converted:    {}", self.closures_converted)?;
29        writeln!(f, "  Max depth:             {}", self.max_depth)?;
30        writeln!(f, "  Tail calls detected:   {}", self.tail_calls_detected)?;
31        writeln!(f, "  Fresh vars allocated:  {}", self.fresh_vars_allocated)?;
32        writeln!(f, "  Free var computations: {}", self.free_var_computations)
33    }
34}