Skip to main content

oxilean_runtime/rc/
rcstats_traits.rs

1//! # RcStats - Trait Implementations
2//!
3//! This module contains trait implementations for `RcStats`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::types::RcStats;
12use std::fmt;
13
14impl fmt::Display for RcStats {
15    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16        writeln!(f, "RC Statistics:")?;
17        writeln!(f, "  Increments:      {}", self.increments)?;
18        writeln!(f, "  Decrements:      {}", self.decrements)?;
19        writeln!(f, "  Deallocations:   {}", self.deallocations)?;
20        writeln!(f, "  Elided inc:      {}", self.elided_increments)?;
21        writeln!(f, "  Elided dec:      {}", self.elided_decrements)?;
22        writeln!(f, "  In-place mut:    {}", self.inplace_mutations)?;
23        writeln!(f, "  Copy-on-write:   {}", self.copy_on_write)?;
24        writeln!(f, "  Peak RC:         {}", self.peak_rc)?;
25        writeln!(f, "  Elision ratio:   {:.1}%", self.elision_ratio() * 100.0)
26    }
27}