forked from swiftlang/swift-evolution
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathproposals.xml
141 lines (139 loc) · 18.8 KB
/
proposals.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version="1.0" encoding="UTF-8"?>
<!--
The proposal status page at apple.github.io/swift-evolution is rendered from
this list using proposal-status.xsl; however, since this XML document lives on
the repo's master branch, the status page (index.html on the gh-pages branch)
just loads it via JavaScript. Hence, the following declaration isn't used.
<?xml-stylesheet type="text/xsl" href="proposal-status.xsl"?>
-->
<proposals>
<proposal id="0001" status="implemented" swift-version="2.2" name="Allow (most) keywords as argument labels" filename="0001-keywords-as-argument-labels.md"/>
<proposal id="0002" status="implemented" swift-version="3" name="Removing currying `func` declaration syntax" filename="0002-remove-currying.md"/>
<proposal id="0003" status="implemented" swift-version="3" name="Removing `var` from Function Parameters" filename="0003-remove-var-parameters.md"/>
<proposal id="0004" status="implemented" swift-version="3" name="Remove the `++` and `--` operators" filename="0004-remove-pre-post-inc-decrement.md"/>
<proposal id="0005" status="implemented" swift-version="3" name="Better Translation of Objective-C APIs Into Swift" filename="0005-objective-c-name-translation.md"/>
<proposal id="0006" status="implemented" swift-version="3" name="Apply API Guidelines to the Standard Library" filename="0006-apply-api-guidelines-to-the-standard-library.md"/>
<proposal id="0007" status="implemented" swift-version="3" name="Remove C-style for-loops with conditions and incrementers" filename="0007-remove-c-style-for-loops.md"/>
<proposal id="0008" status="implemented" swift-version="3" name="Add a Lazy flatMap for Sequences of Optionals" filename="0008-lazy-flatmap-for-optionals.md"/>
<proposal id="0009" status="rejected" name="Require self for accessing instance members" filename="0009-require-self-for-accessing-instance-members.md"/>
<proposal id="0010" status="rejected" name="Add StaticString.UnicodeScalarView" filename="0010-add-staticstring-unicodescalarview.md"/>
<proposal id="0011" status="implemented" swift-version="2.2" name="Replace `typealias` keyword with `associatedtype` for associated type declarations" filename="0011-replace-typealias-associated.md"/>
<proposal id="0012" status="rejected" name="Add `@noescape` to public library API" filename="0012-add-noescape-to-public-library-api.md"/>
<proposal id="0013" status="rejected" name="Remove Partial Application of Non-Final Super Methods (Swift 2.2)" filename="0013-remove-partial-application-super.md"/>
<proposal id="0014" status="implemented" swift-version="2.2" name="Constraining `AnySequence.init`" filename="0014-constrained-AnySequence.md"/>
<proposal id="0015" status="implemented" swift-version="2.2" name="Tuple comparison operators" filename="0015-tuple-comparison-operators.md"/>
<proposal id="0016" status="implemented" swift-version="3" name="Adding initializers to Int and UInt to convert from UnsafePointer and UnsafeMutablePointer" filename="0016-initializers-for-converting-unsafe-pointers-to-ints.md"/>
<proposal id="0017" status="implemented" swift-version="3" name="Change `Unmanaged` to use `UnsafePointer`" filename="0017-convert-unmanaged-to-use-unsafepointer.md"/>
<proposal id="0018" status="returned" name="Flexible Memberwise Initialization" filename="0018-flexible-memberwise-initialization.md"/>
<proposal id="0019" status="implemented" swift-version="3" name="Swift Testing" filename="0019-package-manager-testing.md"/>
<proposal id="0020" status="implemented" swift-version="2.2" name="Swift Language Version Build Configuration" filename="0020-if-swift-version.md"/>
<proposal id="0021" status="implemented" swift-version="2.2" name="Naming Functions with Argument Labels" filename="0021-generalized-naming.md"/>
<proposal id="0022" status="implemented" swift-version="2.2" name="Referencing the Objective-C selector of a method" filename="0022-objc-selectors.md"/>
<proposal id="0023" status="implemented" swift-version="3" name="API Design Guidelines" filename="0023-api-guidelines.md"/>
<proposal id="0024" status="rejected" name="Optional Value Setter `??=`" filename="0024-optional-value-setter.md"/>
<proposal id="0025" status="accepted" name="Scoped Access Level" filename="0025-scoped-access-level.md"/>
<proposal id="0026" status="deferred" name="Abstract classes and methods" filename="0026-abstract-classes-and-methods.md"/>
<proposal id="0027" status="rejected" name="Expose code unit initializers on String" filename="0027-string-from-code-units.md"/>
<proposal id="0028" status="implemented" swift-version="3" name="Modernizing Swift's Debugging Identifiers (__FILE__, etc)" filename="0028-modernizing-debug-identifiers.md"/>
<proposal id="0029" status="implemented" swift-version="3" name="Remove implicit tuple splat behavior from function applications" filename="0029-remove-implicit-tuple-splat.md"/>
<proposal id="0030" status="returned" name="Property Behaviors" filename="0030-property-behavior-decls.md"/>
<proposal id="0031" status="implemented" swift-version="3" name="Adjusting inout Declarations for Type Decoration" filename="0031-adjusting-inout-declarations.md"/>
<proposal id="0032" status="implemented" swift-version="3" name="Add `first(where:)` method to `SequenceType`" filename="0032-sequencetype-find.md"/>
<proposal id="0033" status="implemented" swift-version="3" name="Import Objective-C Constants as Swift Types" filename="0033-import-objc-constants.md"/>
<proposal id="0034" status="implemented" swift-version="3" name="Disambiguating Line Control Statements from Debugging Identifiers" filename="0034-disambiguating-line.md"/>
<proposal id="0035" status="implemented" swift-version="3" name="Limiting `inout` capture to `@noescape` contexts" filename="0035-limit-inout-capture.md"/>
<proposal id="0036" status="accepted" name="Requiring Leading Dot Prefixes for Enum Instance Member Implementations" filename="0036-enum-dot.md"/>
<proposal id="0037" status="implemented" swift-version="3" name="Clarify interaction between comments & operators" filename="0037-clarify-comments-and-operators.md"/>
<proposal id="0038" status="implemented" swift-version="3" name="Package Manager C Language Target Support" filename="0038-swiftpm-c-language-targets.md"/>
<proposal id="0039" status="implemented" swift-version="3" name="Modernizing Playground Literals" filename="0039-playgroundliterals.md"/>
<proposal id="0040" status="implemented" swift-version="3" name="Replacing Equal Signs with Colons For Attribute Arguments" filename="0040-attributecolons.md"/>
<proposal id="0041" status="rejected" name="Updating Protocol Naming Conventions for Conversions" filename="0041-conversion-protocol-conventions.md"/>
<proposal id="0042" status="accepted" name="Flattening the function type of unapplied method references" filename="0042-flatten-method-types.md"/>
<proposal id="0043" status="implemented" swift-version="3" name="Declare variables in 'case' labels with multiple patterns" filename="0043-declare-variables-in-case-labels-with-multiple-patterns.md"/>
<proposal id="0044" status="implemented" swift-version="3" name="Import as Member" filename="0044-import-as-member.md"/>
<proposal id="0045" status="accepted" name="Add scan, prefix(while:), drop(while:), and iterate to the stdlib" filename="0045-scan-takewhile-dropwhile.md"/>
<proposal id="0046" status="implemented" swift-version="3" name="Establish consistent label behavior across all parameters including first labels" filename="0046-first-label.md"/>
<proposal id="0047" status="implemented" swift-version="3" name="Defaulting non-Void functions so they warn on unused results" filename="0047-nonvoid-warn.md"/>
<proposal id="0048" status="implemented" swift-version="3" name="Generic Type Aliases" filename="0048-generic-typealias.md"/>
<proposal id="0049" status="implemented" swift-version="3" name="Move @noescape and @autoclosure to be type attributes" filename="0049-noescape-autoclosure-type-attrs.md"/>
<proposal id="0050" status="returned" name="Decoupling Floating Point Strides from Generic Implementations" filename="0050-floating-point-stride.md"/>
<proposal id="0051" status="rejected" name="Conventionalizing stride semantics" filename="0051-stride-semantics.md"/>
<proposal id="0052" status="implemented" swift-version="3" name="Change IteratorType post-nil guarantee" filename="0052-iterator-post-nil-guarantee.md"/>
<proposal id="0053" status="implemented" swift-version="3" name="Remove explicit use of `let` from Function Parameters" filename="0053-remove-let-from-function-parameters.md"/>
<proposal id="0054" status="implemented" swift-version="3" name="Abolish `ImplicitlyUnwrappedOptional` type" filename="0054-abolish-iuo.md"/>
<proposal id="0055" status="implemented" swift-version="3" name="Make unsafe pointer nullability explicit using Optional" filename="0055-optional-unsafe-pointers.md"/>
<proposal id="0056" status="rejected" name="Allow trailing closures in `guard` conditions" filename="0056-trailing-closures-in-guard.md"/>
<proposal id="0057" status="implemented" swift-version="3" name="Importing Objective-C Lightweight Generics" filename="0057-importing-objc-generics.md"/>
<proposal id="0058" status="deferred" name="Allow Swift types to provide custom Objective-C representations" filename="0058-objectivecbridgeable.md"/>
<proposal id="0059" status="implemented" swift-version="3" name="Update API Naming Guidelines and Rewrite Set APIs Accordingly" filename="0059-updated-set-apis.md"/>
<proposal id="0060" status="implemented" swift-version="3" name="Enforcing order of defaulted parameters" filename="0060-defaulted-parameter-order.md"/>
<proposal id="0061" status="implemented" swift-version="3" name="Add Generic Result and Error Handling to autoreleasepool()" filename="0061-autoreleasepool-signature.md"/>
<proposal id="0062" status="implemented" swift-version="3" name="Referencing Objective-C key-paths" filename="0062-objc-keypaths.md"/>
<proposal id="0063" status="implemented" swift-version="3" name="SwiftPM System Module Search Paths" filename="0063-swiftpm-system-module-search-paths.md"/>
<proposal id="0064" status="implemented" swift-version="3" name="Referencing the Objective-C selector of property getters and setters" filename="0064-property-selectors.md"/>
<proposal id="0065" status="implemented" swift-version="3" name="A New Model For Collections and Indices" filename="0065-collections-move-indices.md"/>
<proposal id="0066" status="implemented" swift-version="3" name="Standardize function type argument syntax to require parentheses" filename="0066-standardize-function-type-syntax.md"/>
<proposal id="0067" status="implemented" swift-version="3" name="Enhanced Floating Point Protocols" filename="0067-floating-point-protocols.md"/>
<proposal id="0068" status="accepted" name="Expanding Swift `Self` to class members and value types" filename="0068-universal-self.md"/>
<proposal id="0069" status="implemented" swift-version="3" name="Mutability and Foundation Value Types" filename="0069-swift-mutability-for-foundation.md"/>
<proposal id="0070" status="implemented" swift-version="3" name="Make Optional Requirements Objective-C-only" filename="0070-optional-requirements.md"/>
<proposal id="0071" status="implemented" swift-version="3" name="Allow (most) keywords in member references" filename="0071-member-keywords.md"/>
<proposal id="0072" status="implemented" swift-version="3" name="Fully eliminate implicit bridging conversions from Swift" filename="0072-eliminate-implicit-bridging-conversions.md"/>
<proposal id="0073" status="rejected" name="Marking closures as executing exactly once" filename="0073-noescape-once.md"/>
<proposal id="0074" status="rejected" name="Implementation of Binary Search functions" filename="0074-binary-search.md"/>
<proposal id="0075" status="accepted" name="Adding a Build Configuration Import Test" filename="0075-import-test.md"/>
<proposal id="0076" status="implemented" swift-version="3" name="Add overrides taking an UnsafePointer source to non-destructive copying methods on UnsafeMutablePointer" filename="0076-copying-to-unsafe-mutable-pointer-with-unsafe-pointer-source.md"/>
<proposal id="0077" status="accepted" name="Improved operator declarations" filename="0077-operator-precedence.md"/>
<proposal id="0078" status="deferred" name="Implement a rotate algorithm, equivalent to std::rotate() in C++" filename="0078-rotate-algorithm.md"/>
<proposal id="0079" status="deferred" name="Allow using optional binding to upgrade `self` from a weak to strong reference" filename="0079-upgrade-self-from-weak-to-strong.md"/>
<proposal id="0080" status="accepted" name="Failable Numeric Conversion Initializers" filename="0080-failable-numeric-initializers.md"/>
<proposal id="0081" status="accepted" name="Move `where` clause to end of declaration" filename="0081-move-where-expression.md"/>
<proposal id="0082" status="accepted" name="Package Manager Editable Packages" filename="0082-swiftpm-package-edit.md"/>
<proposal id="0083" status="deferred" name="Remove bridging conversion behavior from dynamic casts" filename="0083-remove-bridging-from-dynamic-casts.md"/>
<proposal id="0084" status="rejected" name="Allow trailing commas in parameter lists and tuples" filename="0084-trailing-commas.md"/>
<proposal id="0085" status="implemented" swift-version="3" name="Package Manager Command Names" filename="0085-package-manager-command-name.md"/>
<proposal id="0086" status="implemented" swift-version="3" name="Drop NS Prefix in Swift Foundation" filename="0086-drop-foundation-ns.md"/>
<proposal id="0087" status="rejected" name="Rename `lazy` to `@lazy`" filename="0087-lazy-attribute.md"/>
<proposal id="0088" status="accepted" name="Modernize libdispatch for Swift 3 naming conventions" filename="0088-libdispatch-for-swift3.md"/>
<proposal id="0089" status="accepted" name="Renaming `String.init<T>(_: T)`" filename="0089-rename-string-reflection-init.md"/>
<proposal id="0090" status="deferred" name="Remove `.self` and freely allow type references in expressions" filename="0090-remove-dot-self.md"/>
<proposal id="0091" status="accepted" name="Improving operator requirements in protocols" filename="0091-improving-operators-in-protocols.md"/>
<proposal id="0092" status="accepted" name="Typealiases in protocols and protocol extensions" filename="0092-typealiases-in-protocols.md"/>
<proposal id="0093" status="implemented" swift-version="3" name="Adding a public `base` property to slices" filename="0093-slice-base.md"/>
<proposal id="0094" status="implemented" swift-version="3" name="Add sequence(first:next:) and sequence(state:next:) to the stdlib" filename="0094-sequence-function.md"/>
<proposal id="0095" status="accepted" name="Replace `protocol<P1,P2>` syntax with `P1 & P2` syntax" filename="0095-any-as-existential.md"/>
<proposal id="0096" status="accepted" name="Converting dynamicType from a property to an operator" filename="0096-dynamictype.md"/>
<proposal id="0097" status="rejected" name="Normalizing naming for "negative" attributes" filename="0097-negative-attributes.md"/>
<proposal id="0098" status="rejected" name="Lowercase `didSet` and `willSet` for more consistent keyword casing" filename="0098-didset-capitalization.md"/>
<proposal id="0099" status="accepted" name="Restructuring Condition Clauses" filename="0099-conditionclauses.md"/>
<proposal id="0100" status="deferred" name="Add sequence-based initializers and merge methods to Dictionary" filename="0100-add-sequence-based-init-and-merge-to-dictionary.md"/>
<proposal id="0101" status="scheduled" name="Reconfiguring `sizeof` and related functions into a unified `MemoryLayout` struct" filename="0101-standardizing-sizeof-naming.md"/>
<proposal id="0102" status="accepted" name="Remove `@noreturn` attribute and introduce an empty `NoReturn` type" filename="0102-noreturn-bottom-type.md"/>
<proposal id="0103" status="accepted" name="Make non-escaping closures the default" filename="0103-make-noescape-default.md"/>
<proposal id="0104" status="accepted" name="Protocol-oriented integers" filename="0104-improved-integers.md"/>
<proposal id="0105" status="rejected" name="Removing Where Clauses from For-In Loops" filename="0105-remove-where-from-forin-loops.md"/>
<proposal id="0106" status="implemented" swift-version="3" name="Add a `macOS` Alias for the `OSX` Platform Configuration Test" filename="0106-rename-osx-to-macos.md"/>
<proposal id="0107" status="accepted" name="UnsafeRawPointer API" filename="0107-unsaferawpointer.md"/>
<proposal id="0108" status="rejected" name="Remove associated type inference" filename="0108-remove-assoctype-inference.md"/>
<proposal id="0109" status="implemented" swift-version="3" name="Remove the `Boolean` protocol" filename="0109-remove-boolean.md"/>
<proposal id="0110" status="accepted" name="Distinguish between single-tuple and multiple-argument function types" filename="0110-distingish-single-tuple-arg.md"/>
<proposal id="0111" status="accepted" name="Remove type system significance of function argument labels" filename="0111-remove-arg-label-type-significance.md"/>
<proposal id="0112" status="implemented" swift-version="3" name="Improved NSError Bridging" filename="0112-nserror-bridging.md"/>
<proposal id="0113" status="implemented" swift-version="3" name="Add integral rounding functions to FloatingPoint" filename="0113-rounding-functions-on-floatingpoint.md"/>
<proposal id="0114" status="implemented" swift-version="3" name="Updating Buffer "Value" Names to "Header" Names" filename="0114-buffer-naming.md"/>
<proposal id="0115" status="implemented" swift-version="3" name="Rename Literal Syntax Protocols" filename="0115-literal-syntax-protocols.md"/>
<proposal id="0116" status="active" name="Import Objective-C `id` as Swift `Any` type" filename="0116-id-as-any.md"/>
<proposal id="0117" status="active" name="Default classes to be non-subclassable publicly" filename="0117-non-public-subclassable-by-default.md"/>
<proposal id="0118" status="implemented" swift-version="3" name="Closure Parameter Names and Labels" filename="0118-closure-parameter-names-and-labels.md"/>
<proposal id="0119" status="active" name="Remove access modifiers from extensions" filename="0119-extensions-access-modifiers.md"/>
<proposal id="0120" status="active" name="Revise `partition` Method Signature" filename="0120-revise-partition-method.md"/>
<proposal id="0121" status="active" name="Remove `Optional` Comparison Operators" filename="0121-remove-optional-comparison-operators.md"/>
<proposal id="0122" status="scheduled" name="Use colons for subscript declarations" filename="0122-use-colons-for-subscript-type-declarations.md"/>
<proposal id="0123" status="active" name="Disallow coercion to optionals in operator arguments" filename="0123-disallow-value-to-optional-coercion-in-operator-arguments.md"/>
<proposal id="0124" status="active" name="`Int.init(ObjectIdentifier)` and `UInt.init(ObjectIdentifier)` should have a `bitPattern:` label" filename="0124-bitpattern-label-for-int-initializer-objectidentfier.md"/>
<!--
Recognized values for a proposal's status:
implemented, accepted, active, scheduled, awaiting, deferred, returned, rejected
Note: status="implemented" also requires swift-version="XX".
-->
</proposals>