Don't keep complicating the syntax (soft post, maybe off topic, maybe irrelevant)

Speaking of ?, I never read the original ? RFC back when ? was added to the language, and later on I was shocked to learn that try {} blocks were part of that RFC and had already been accepted into the language, even though they seemed very undermotivated to me (and as it turns out, quite a few other people on later RFC threads).

I’m not sure there’s any specific actionable lesson to draw from this. After all, I don’t want us to start stabilizing half-features just because we’re worried about public reaction to the second half. My point is that the general implication here that the way ? was added to the language is somehow more responsible than the way impl Trait was added just doesn’t seem true to me. All the problems being pointed out seem very real, but also inevitable and not new.

I feel like I should probably make some kind of constructive suggestion at this point, but I’m struggling to come up with anything we aren’t already doing. TWiR is as thorough as it can get; there’s no point asking TWiR to summarize the RFCs’ content because every RFC already comes with a summary. There was a Help test impl Trait! thread all the way back in January, which even includes argument position usage in the opening post’s example. So… I’m out of ideas.


To me, this whole thing feels to me like a symptom of the trust erosion caused by (among other things) the bizarre ergonomics RFC crunch time we had last year, rather than an actual downward trend in Rust design quality. Do we need to talk more about that?

7 Likes