RFC 1643 lays out a plan for creating guidelines for what is and is not legal unsafe code. The idea is to develop the guidelines over time, with a specific “strike team” charged with driving the process along, in conjunction with the lang team – as is typical for Rust, though, the discussion will be open to all, and the role of the strike team is primarily to help steer the discussion towards consensus. The RFC has not yet been accepted but I expect it will be.
I expect that the first goal will be to try and explore the space of possible rules at a high-level. This will require identifying interesting examples of optimizations as well as code that ought or ought not to be legal, and then evaluating how different strategies might fare on these examples.
What I was hoping to do here is to discuss how and where to have these discussions. For example, should be do this via threads on discuss, or GitHub? I’ve generally found it much easier to keep up with discuss (it’s notifications are better, it allows quoting, etc), but I had the thought that it might be very nice to create a specialized GitHub repository for the entire unsafe code guidelines process (something like https://github.com/nikomatsakis/rust-memory-model).
If we were to try that, I imagine then that we could use files in the repo to represent both examples and other information, as well as proposals. We can open issues to discuss specific aspects of various proposals, or PRs for alterations we are considering, and perhaps adopt an FCP-like process to help drive decision-making.
One thing I had considered is that for larger discussions we can just open a thread on discuss and link to it from GitHub (perhaps closing the issue), so that we can use GH to organize the conversation, but Discuss to help track where replies are needed. That might be overkill though.
Another option is just creating a custom category on discuss – or doing that in addition to the stuff above.