japaric / ufmt

a smaller, faster and panic-free alternative to core::fmt
Apache License 2.0
352 stars 40 forks source link

fixed uDebug derive for types with a W generic #51

Open newAM opened 2 years ago

newAM commented 2 years ago

Adding the uDebug derive to existing code that has a W generic will fail to compile.

#[derive(ufmt::derive::uDebug)]
struct MyStruct<W> {
    w: W,
}
error[E0403]: the name `W` is already used for a generic parameter in this item's generic parameters

1 | #[derive(ufmt::derive::uDebug)]
  |          ^^^^^^^^^^^^^^^^^^^^ already used
2 | struct MyStruct<W> {
  |                 - first use of `W`

I do not know if there is a way to eliminate this problem. Changing the generic from a 1-letter name to WriterUfmt should work in almost all cases.