I just had a few experiences debugging some Rust code that would have been quickly solved with slightly more informative error messages. I know they are great already (really), and I really have no idea how hard the following is, but it would be great if:
Instead of saying
type X does not implement any method in scope named Y.
Rust came back with
type X does not implement any method in scope named Y. The implementation for X at lines blah...blah contains a method named Y, but the following impl bounds are not met: some bounds.
Similarly, rather than
type X does not implement any method in scope named Y; trait Z defines that method, perhaps you should implement it.
Rust came back with
type X does not implement any method in scope named Y; trait Z defines that method, but its implementations at lines blah...blah are not applicable because the following bounds are not met: some_bounds. Perhaps you should implement the trait.
For some reason, most of the downtime I have had recently (not otherwise attributable to things that will likely be fixed) has been staring at methods I’ve written, trying to understand what Rust doesn’t like about the impl bounds.
Anyhow, random thought. I’m delighted, otherwise. <3