[Accepted] SE-0358: Primary Associated Types in the Standard Library

Hey, folks. The review of SE-0358: Primary Associated Types in the Standard Library ran from May 18th through June 27th and has now come to a close.

The history of this review is a little complicated. Originally, the proposal just ran to about the end of May. Based on the feedback, the Core Team decided to extend the review until June 20th to give people more opportunity to develop and discuss the general guidelines and how to apply them to Strideable and OptionSet. That discussion was fruitful, but it also became clear that we simply didn't have enough lived experience to write general guidelines about when people should adopt primary associated types. The Language Workgroup (taking over from the Core Team) decided to weaken the wording around the guidelines to make it clear that we had simply found them useful in the standard library and to invite further conversation. Karoy, the proposal author, also decided based on the community's feedback that OptionSet should not have a primary associated type, and he chose to withdraw that part of the proposal. SE-0358 was put back into review for one final week to review those changes, and that has now come to a close.

The Language Workgroup is satisfied with the current state of this proposal, and so SE-0358 is now accepted.

Conversations around the adoption of new language features are always a little drawn out. I'd like to make a point of thanking the community for trying to remain engaged with this review over so many weeks. Your feedback throughout this process has certainly been valuable in shaping the decisions about how to adopt this feature, and I think the guidelines developed here are a good starting point and will be helpful to many programmers over the coming years.

John McCall
Review Manager