-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Process proposal: Encourage immediate rejection (i.e. "close the Pull Request") of deliberately open-ended RFC, to force authors to write their RFC's in a way that leads to a directed conversation, rather than confusion about what the actual proposal is.
First off: I am going to be picking on one RFC in particular, because it is the one that most recently bothered me on this point.
But, most important: It is not the first RFC to make this mistake, and I am definitely not trying to pick on the author of that RFC personally.
Okay, so, the motivating example: I was a little irked when I read this in the most recent struct literals RFC (#841):
Pick a syntax for structs. This syntax will be the One True Syntax for everything remotely struct related. There are two requirements ...
and then the "design" proceeds to show the two requirements, and sketch ... maybe three? ... different proposed syntaxes, none of which were described very clearly, and more text was devoted to the drawbacks of two of the three design sketches than to the actual description of any of the three.
Then when I tried to engage in discussion about the RFC, and assumed (based on my admittedly cursory reading of the RFC assuming that the second presented design sketch was the actual proposal, I saw responses to my comment that assumed that the third sketch was the actual proposal.
This is not an efficient way to propose a concrete change to the language, and is not an appropriate use of the RFC Pull Request system. I think this sort of open-ended discussion is better off put on one of the discuss forums, forming a set of alternatives, choosing one to present as the concrete design and listing the others in the Alternatives section (since that is what that section is for).
If for some reason you want to insist on using the RFC repo for your discussion (e.g. you believe that the forums do not get enough eyeballs), then I still think that filing an issue would be a better way to figure out which design to write up formally, rather than filing a PR that has no chance of being merged since it is, to put it simply, an ill-formed document.
As a quick ending note: I'm not the only one who thought upon reading this RFC that it was ill-formed in showing multiple alternatives in the "Detailed Design" section. See for example: