3 questions on ergonomics


#1

I’ve been writing a bunch of Rust again lately, and was wondering about the status of 3 things that I think could improve the experience.

match autoderef: I think I saw Niko mention this somewhere. It seems like a really nice improvement. Would this need an RFC? Is anyone working on it yet? Would someone be available to mentor?

custom Derive error messages: the messages generated when you get a procedural macro wrong are often pretty hard to decipher. Is anyone working on improving these yet? Are there known sticking points? It sometimes seems like there are some obvious improvements, but it could well be harder than I think.

lifetime elision: the Rust nomicon mentions that “in the future, it should be possible to elide impl headers in the same manner”. Having written a bunch of code recently that generates impls, this feels like a somewhat obvious improvement with a potentially large payoff. Similar questions: anyone working on it? Does it need an RFC? Would someone be available to mentor?


#2

Assuming “match autoderef” means what I think it means, the latest I’ve heard is https://github.com/rust-lang/rust-roadmap/issues/24 which I took to mean nrc is working on an RFC for it.


#3

I don’t think anyone is actively working on them. I know there are some challenges with the current approach to custom derive, since we can’t communicate span information. @nrc and @jseyfried would be good people to talk to about this.

This doesn’t need an RFC; it was actually proposed in the initial RFC for elision, but never implemented. See the tracking issue. And yes, we can definitely find a mentor! Please leave a comment on that tracking issue and we’ll hook you up.

Finally, in general https://github.com/rust-lang/rust-roadmap/issues/17 is a great place to coordinate what’s going on with language ergonomics this year. We’ll be fleshing it out with more detail very soon!