Re:Rust Language Cheat Sheet
by oblio on Sunday April 25, 2021 @08:42AM
(#26932278)
Ah, that's awesome and it makes a lot of sense, plus it's super helpful.
[ Parent
| on HN ]
There are other more "negative" reasons too:
The language doesn't have varargs (to say nothing of type-safe generic variable-type args), so you'd have to pass in a slice of references e.g.
print!(..., a, b, c)
would become print(..., &[&a, &b, &c])
Which is not exactly sexy, plus all these references would have to implement a matching trait, whereas currently formatting different values can involve different traits depending on the format specifier e.g. a plain `{}` is Display but `{:?}` is Debug and `{:x}` is LowerHex. You can have a type which implements LowerHex but neither Debug nor Display if that makes sense.