Hacker News new | ask | show | jobs
by the_duke 1990 days ago
There is an accepted and partially implemented RFC [1] that can improve proc macro error messages a lot.

Sadly it hasn't been worked on in years.

[1] https://github.com/rust-lang/rust/issues/54140

1 comments

proc macro diagnostics are a cool feature, but they would not help here. Here, macros are being used to generate implementations of a trait. If the trait bound is not satisfied, you have no way of knowing why other than that there was no implementation generated for it, hence the confusing error message. With variadic generics however, you could write something like:

  Fn(..Args) -> T
which I assume would let the compiler know why the trait bound is not satisfied and output a nicer error message.