anderslanglands / ustr

Fast, FFI-friendly string interning for Rust
Other
151 stars 26 forks source link

Display implementation ignores formatting paramters #43

Open wainwrightmark opened 8 months ago

wainwrightmark commented 8 months ago

Hi. I'm not sure if this is intentional or not but the Display implementation ignores all formatting parameters

println!("ab{:>2}", "c"); //prints "ab c"
println!("ab{:>2}", Ustr::from_str("c").unwrap()); //prints "abc"

I believe this could be resolved by changing the current implementation to something like

impl fmt::Display for Ustr {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
       self.as_str().fmt(f)
    }
}

Obviously this would be a breaking change but possibly not a serious one as using formatting parameters currently does nothing, so it seems unlikely that anybody would be relying on the current behaviour.