So I had a mildly crazy idea the other day. The thing I like most about explicit stages is the clear separation of crystallizing a problem statement from designing a specific solution (we get more than a few RFCs that feel like a “solution in search of a problem”). But having a separate repo for every RFC feels like far more fragmentation than we really need.
But what if we had a repo for every complex problem statement? Rather than be predestined to produce a single RFC, such a repo might eventually help generate any number of related RFCs, or pre-RFC threads, or third party crates, or PRs to improve diagnostics, or merely document why the status quo is what it is and how we ended up there.
The orphan rules dilemma seems like a perfect candidate for testing this since it’s complex, subtle, has strong constraints people often miss, has associated jargon people often don’t know, affects many use cases, has many existing ideas to mitigate or address it, is mostly irrelevant to the 2018 edition work so there’s no time pressure, and we just reviewed the issue in excruciating detail last week so it’s fresh in at least my mind.
So unless someone tells me I’m actually crazy, I’ll probably create an unofficial “Orphan Rules RFCs” repo this weekend as an experiment. Hopefully I can at least manage to produce a README.md that can get any interested Rustacean “up to speed” on the jargon and design challenges in one sitting, and provide a place for them to submit use cases or proposals where they won’t get automatically forgotten about over time.