Skip to content

Commit 9dddf98

Browse files
committed
---
yaml --- r: 293295 b: refs/heads/tensorflow c: 990a408 h: refs/heads/master i: 293293: 278c22f 293291: eb6db32 293287: 2250647 293279: 61fdfd4
1 parent 972f03d commit 9dddf98

File tree

1,721 files changed

+284072
-329275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,721 files changed

+284072
-329275
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-04-25-a: 22f738a831d43aff2b9c9773bcb65
816816
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-05-08-a: 7d98cc16689baba5c8a3b90a9329bdcc1a12b4e9
817817
refs/heads/cherr42: a566ad54b073c2c56ac0a705d0a5bed9743135a5
818818
"refs/heads/codable_test_comment_fix": fc8f6824f7f347e1e8db55bff62db385c5728b5a
819-
refs/heads/tensorflow: a9ba1ced6c2bcb78d7fc826fc9cf97a22af82822
819+
refs/heads/tensorflow: 990a408794d82e45fef3a87289edb0748878bd4e
820820
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-11-a: 8126fd7a652e2f70ad6d76505239e34fb2ef3e1a
821821
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-12-a: b3fd3dd84df6717f2e2e9df58c6d7e99fed57086
822822
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-13-a: 71135119579039dc321c5f65d870050fe36efda2

branches/tensorflow/CHANGELOG.md

Lines changed: 2 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ CHANGELOG
66

77
| Contents |
88
| :--------------------- |
9-
| [Swift Next](#swift-next) |
10-
| [Swift 5.1](#swift-51) |
119
| [Swift 5.0](#swift-50) |
1210
| [Swift 4.2](#swift-42) |
1311
| [Swift 4.1](#swift-41) |
@@ -23,247 +21,14 @@ CHANGELOG
2321

2422
</details>
2523

26-
Swift Next
27-
----------
28-
29-
* [SR-6118][]:
30-
31-
Subscripts can now declare default arguments:
32-
33-
```swift
34-
struct Subscriptable {
35-
subscript(x: Int, y: Int = 0) {
36-
...
37-
}
38-
}
39-
40-
let s = Subscriptable()
41-
print(s[0])
42-
```
43-
44-
**Add new entries to the top of this section, not here!**
45-
4624
Swift 5.1
4725
---------
4826

49-
* [SE-0244][]:
50-
51-
Functions can now hide their concrete return type by declaring what protocols
52-
it conforms to instead of specifying the exact return type:
53-
54-
```
55-
func makeMeACollection() -> some Collection {
56-
return [1, 2, 3]
57-
}
58-
```
59-
60-
Code that calls the function can use the interface of the protocol, but
61-
does not have visibility into the underlying type.
62-
63-
* [SE-0254][]:
64-
65-
Subscripts can now be declared `static` or (inside classes) `class`.
66-
67-
* [SE-0252][]:
68-
69-
The existing `@dynamicMemberLookup` attribute has been extended with a
70-
support for strongly-typed keypath implementations:
71-
72-
```swift
73-
@dynamicMemberLookup
74-
struct Lens<T> {
75-
let getter: () -> T
76-
let setter: (T) -> Void
77-
78-
var value: T {
79-
get {
80-
return getter()
81-
}
82-
set {
83-
setter(newValue)
84-
}
85-
}
86-
87-
subscript<U>(dynamicMember keyPath: WritableKeyPath<T, U>) -> Lens<U> {
88-
return Lens<U>(
89-
getter: { self.value[keyPath: keyPath] },
90-
setter: { self.value[keyPath: keyPath] = $0 })
91-
}
92-
}
93-
```
94-
95-
* [SR-8546][], [SR-9043][]:
96-
97-
More thorough checking has been implemented for restrictions around
98-
escaping closures capturing `inout` parameters or values of noescape type.
99-
While most code should not be affected, there are edge cases where
100-
the Swift 5.0 compiler would accept code violating these restrictions.
101-
This could result in runtime crashes or silent data corruption.
102-
103-
An example of invalid code which was incorrectly accepted by the Swift 5.0
104-
compiler is an `@escaping` closure calling a local function which
105-
references an `inout` parameter from an outer scope:
106-
107-
```swift
108-
struct BadCaptureExample {
109-
var escapingClosure: () -> ()
110-
111-
mutating func takesInOut(_ x: inout Int) {
112-
func localFunction() {
113-
x += 1
114-
}
115-
116-
escapingClosure = { localFunction() }
117-
}
118-
}
119-
```
120-
121-
The compiler now correctly diagnoses the above code by pointing out that
122-
the capture of `x` by `localFunction()` is invalid, since `localFunction()`
123-
is referenced from an `@escaping` closure.
124-
125-
This also addresses certain cases where the compiler incorrectly diagnosed
126-
certain code as invalid, when in fact no violation of restrictions had
127-
taken place. For example,
128-
129-
```swift
130-
func takesNoEscape(_ fn: () -> ()) {
131-
func localFunction() {
132-
fn()
133-
}
134-
135-
{ localFunction() }()
136-
}
137-
```
138-
139-
* [SR-2672][]:
140-
141-
Conversions between tuple types are now fully implemented.
142-
Previously, the following would diagnose an error:
143-
144-
```swift
145-
let values: (Int, Int) = (10, 15)
146-
let converted: (Int?, Any) = values
147-
148-
* [SE-0242][]:
149-
150-
The memberwise initializer for structures now provide default values for variables that hold default expressions.
151-
152-
```swift
153-
struct Dog {
154-
var name = "Generic dog name"
155-
var age = 0
156-
157-
// The synthesized memberwise initializer
158-
init(name: String = "Generic dog name", age: Int = 0)
159-
}
160-
161-
let sparky = Dog(name: "Sparky") // Dog(name: "Sparky", age: 0)
162-
```
163-
164-
* [SE-0068][]:
165-
166-
It is now possible to use `Self` to refer to the innermost nominal
167-
type inside struct, enum and class declarations. For example, the
168-
two method declarations inside this struct are equivalent:
169-
170-
```swift
171-
struct Box<Value> {
172-
func transform1() -> Self { return self }
173-
func transform2() -> Box<Value> { return self }
174-
}
175-
```
176-
177-
In classes, `Self` is the dynamic type of the `self` value, as before.
178-
Existing restrictions on `Self` in declaration types still apply;
179-
that is, `Self` can only appear as the return type of a method.
180-
However, `Self` can now be used inside the body of a method
181-
without limitation.
182-
183-
* [SR-7799][]:
184-
185-
Enum cases can now be matched against an optional enum without
186-
requiring a '?' at the end of the pattern.
187-
188-
```swift
189-
enum Foo { case zero, one }
190-
191-
let foo: Foo? = .zero
192-
193-
switch foo {
194-
case .zero: break
195-
case .one: break
196-
case .none: break
197-
}
198-
```
199-
200-
* `weak` and `unowned` stored properties no longer inhibit the
201-
automatic synthesis of `Equatable` or `Hashable` conformance.
202-
203-
* [SR-2688][]:
204-
205-
An `@autoclosure` parameter can now be declared with a typealias type.
206-
207-
```swift
208-
class Foo {
209-
typealias FooClosure = () -> String
210-
func fooFunction(closure: @autoclosure FooClosure) {}
211-
}
212-
```
213-
214-
* [SR-7601][]:
215-
216-
Methods declared `@objc` inside a class can now return `Self`:
217-
218-
```swift
219-
class MyClass : NSObject {
220-
@objc func clone() -> Self { return self }
221-
}
222-
```
223-
224-
* [SR-2176][]:
225-
226-
Assigning '.none' to an optional enum which also has a 'none' case
227-
or comparing such an enum with '.none' will now warn. Such expressions
228-
create an ambiguity because the compiler chooses Optional.none
229-
over Foo.none.
230-
231-
```swift
232-
enum Foo { case none }
233-
234-
// Assigned Optional.none instead of Foo.none
235-
let foo: Foo? = .none
236-
// Comparing with Optional.none instead of Foo.none
237-
let isEqual = foo == .none
238-
```
239-
240-
The compiler will provide a warning along with a fix-it to
241-
replace '.none' with 'Optional.none' or 'Foo.none' to resolve
242-
the ambiguity.
243-
24427
* Key path expressions can now include references to tuple elements.
24528

246-
* Single-parameter functions accepting values of type `Any` are no
247-
longer preferred over other functions.
248-
249-
```swift
250-
func foo(_: Any) { print("Any") }
251-
func foo<T>(_: T) { print("T") }
252-
foo(0) // prints "Any" in Swift < 5.1, "T" in Swift 5.1
253-
```
254-
255-
* [SE-0245][]:
256-
257-
`Array` and `ContiguousArray` now have `init(unsafeUninitializedCapacity:initializingWith:)`,
258-
which provides access to the array's uninitialized storage.
259-
260-
**Add new entries to the top of this section, not here!**
261-
26229
Swift 5.0
26330
---------
26431

265-
### 2019-03-25 (Xcode 10.2)
266-
26732
* [SE-0235][]:
26833

26934
The standard library now contains a `Result` type for manually propagating errors.
@@ -524,6 +289,8 @@ Swift 5.0
524289
}
525290
```
526291

292+
**Add new entries to the top of this section, not here!**
293+
527294
Swift 4.2
528295
---------
529296

@@ -7664,11 +7431,6 @@ Swift 1.0
76647431
[SE-0228]: <https://github.com/apple/swift-evolution/blob/master/proposals/0228-fix-expressiblebystringinterpolation.md>
76657432
[SE-0230]: <https://github.com/apple/swift-evolution/blob/master/proposals/0230-flatten-optional-try.md>
76667433
[SE-0235]: <https://github.com/apple/swift-evolution/blob/master/proposals/0235-add-result.md>
7667-
[SE-0242]: <https://github.com/apple/swift-evolution/blob/master/proposals/0242-default-values-memberwise.md>
7668-
[SE-0244]: <https://github.com/apple/swift-evolution/blob/master/proposals/0244-opaque-result-types.md>
7669-
[SE-0245]: <https://github.com/apple/swift-evolution/blob/master/proposals/0245-array-uninitialized-initializer.md>
7670-
[SE-0252]: <https://github.com/apple/swift-evolution/blob/master/proposals/0252-keypath-dynamic-member-lookup.md>
7671-
[SE-0254]: <https://github.com/apple/swift-evolution/blob/master/proposals/0254-static-subscripts.md>
76727434

76737435
[SR-106]: <https://bugs.swift.org/browse/SR-106>
76747436
[SR-419]: <https://bugs.swift.org/browse/SR-419>
@@ -7678,20 +7440,12 @@ Swift 1.0
76787440
[SR-1446]: <https://bugs.swift.org/browse/SR-1446>
76797441
[SR-1529]: <https://bugs.swift.org/browse/SR-1529>
76807442
[SR-2131]: <https://bugs.swift.org/browse/SR-2131>
7681-
[SR-2176]: <https://bugs.swift.org/browse/SR-2176>
76827443
[SR-2388]: <https://bugs.swift.org/browse/SR-2388>
76837444
[SR-2394]: <https://bugs.swift.org/browse/SR-2394>
76847445
[SR-2608]: <https://bugs.swift.org/browse/SR-2608>
7685-
[SR-2672]: <https://bugs.swift.org/browse/SR-2672>
7686-
[SR-2688]: <https://bugs.swift.org/browse/SR-2688>
76877446
[SR-4248]: <https://bugs.swift.org/browse/SR-4248>
76887447
[SR-5581]: <https://bugs.swift.org/browse/SR-5581>
76897448
[SR-5719]: <https://bugs.swift.org/browse/SR-5719>
7690-
[SR-6118]: <https://bugs.swift.org/browse/SR-6118>
76917449
[SR-7139]: <https://bugs.swift.org/browse/SR-7139>
76927450
[SR-7251]: <https://bugs.swift.org/browse/SR-7251>
7693-
[SR-7601]: <https://bugs.swift.org/browse/SR-7601>
7694-
[SR-7799]: <https://bugs.swift.org/browse/SR-7799>
76957451
[SR-8109]: <https://bugs.swift.org/browse/SR-8109>
7696-
[SR-8546]: <https://bugs.swift.org/browse/SR-8546>
7697-
[SR-9043]: <https://bugs.swift.org/browse/SR-9043>

0 commit comments

Comments
 (0)