[Accepted with modifications] SE-0006 "Apply API Guidelines to the Standard Library"

The review of SE-0006 "Apply API Guidelines to the Standard Library" ran from January 22...February 5, 2016, with the discussion continuing long afterward. We were thrilled with the scope and depth of the community response to this proposal. The proposal is accepted with some significant modifications, detailed below. The updated proposal in its accepted form is available at:

  swift-evolution/0006-apply-api-guidelines-to-the-standard-library.md at master · apple/swift-evolution · GitHub

with the implementation in the swift-3-api-guidelines branch on GitHub:


Most of the modifications to the proposal involve tracking changes to the Swift API Design Guidelines (SE-0023), especially:

  * Adoption of first argument labels throughout the Standard Library.

  * Lower-casing of enum case names, including ".some(x)" and ".none" for the all-important Optional type.

Additionally, the Foundation overlay for String has been updated to mirror the results produced by the Clang importer, tracking SE-0005.

The proposed changes to the Unmanaged type have been removed from the accepted proposal. Discussion will continue and those changes will be brought up as a separate proposal.

Thank you!
Doug Gregor
Review Manager