-
Notifications
You must be signed in to change notification settings - Fork 553
Description
I think the authoring guide should have guidelines for how to handle implementation-specific rules. Should they ever be allowed? Where does the line get drawn?
Some current examples:
- Is the filesystem layout part of the language or part of the implementation?
- All the various notes we currently have regarding rustc and cargo.
In the past, there has been a sentiment from some in the project to never allow that. I largely agree with that. However, I think there will be gray areas that will be difficult to navigate with such a prohibition.
Unspecified is slightly different which is noted in #2026. This is more related to the C-style "implementation-defined behavior — unspecified behavior where each implementation documents how the choice is made".
Note that there is another category of this that is "target-specific" behavior, though I think we have resolved that in rust-lang/spec#58 which is now in the authoring guide.