Skip to content

Commit 611fc78

Browse files
authored
Merge pull request #5016 from natecook1000/nc-manifesto
Add statuses to accepted generics manifesto items
2 parents 5786583 + c1a1253 commit 611fc78

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

docs/GenericsManifesto.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ There are a number of Swift declarations that currently cannot have generic para
7272

7373
### Generic typealiases
7474

75+
*Accepted in [SE-0048](https://github.com/apple/swift-evolution/blob/master/proposals/0048-generic-typealias.md), implemented in Swift 3*
76+
7577
Typealiases could be allowed to carry generic parameters. They would still be aliases (i.e., they would not introduce new types). For example:
7678

7779
```Swift
@@ -440,6 +442,8 @@ extension Bag {
440442

441443
### Moving the `where` clause outside of the angle brackets (*)
442444

445+
*Accepted in [SE-0081](https://github.com/apple/swift-evolution/blob/master/proposals/0081-move-where-expression.md), implemented in Swift 3*
446+
443447
The `where` clause of generic functions comes very early in the declaration, although it is generally of much less concern to the client than the function parameters and result type that follow it. This is one of the things that contributes to "angle bracket blindness". For example, consider the `containsAll` signature above:
444448

445449
```Swift
@@ -455,6 +459,8 @@ func containsAll<S: Sequence>(elements: S) -> Bool
455459

456460
### Renaming `protocol<...>` to `Any<...>` (*)
457461

462+
*Accepted in [SE-0095](https://github.com/apple/swift-evolution/blob/master/proposals/0095-any-as-existential.md) as "Replace `protocol<P1,P2>` syntax with `P1 & P2` syntax", implemented in Swift 3*
463+
458464
The `protocol<...>` syntax is a bit of an oddity in Swift. It is used to compose protocols together, mostly to create values of existential type, e.g.,
459465

460466
```Swift

0 commit comments

Comments
 (0)