@@ -6,6 +6,43 @@ _**Note:** This is in reverse chronological order, so newer entries are added to
6
6
Swift 5.5
7
7
---------
8
8
9
+ * [ SR-14731] [ ] :
10
+
11
+ The compiler now correctly rejects the application of generic arguments to the
12
+ special ` Self ` type:
13
+
14
+ ``` swift
15
+ struct Box <T > {
16
+ // previously interpreted as a return type of Box<T>, ignoring the <Int> part;
17
+ // now we diagnose an error with a fix-it suggesting replacing `Self` with `Box`
18
+ static func makeBox () -> Self <Int > {... }
19
+ }```
20
+
21
+ * [SR- 14878 ][]:
22
+
23
+ The compiler now correctly rejects `@available ` annotations on enum cases with
24
+ associated values with an OS version newer than the current deployment target:
25
+
26
+ ```swift
27
+ @available(macOS 12, *)
28
+ public struct Crayon {}
29
+
30
+ public enum Pen {
31
+ case pencil
32
+
33
+ @available (macOS 12 , * )
34
+ case crayon (Crayon)
35
+ }
36
+ ```
37
+
38
+ While this worked with some examples, there is no way for the Swift runtime to
39
+ perform the requisite dynamic layout needed to support this in general, which
40
+ could cause crashes at runtime.
41
+
42
+ Note that conditional availability on stored properties in structs and classes
43
+ is not supported for similar reasons; it was already correctly detected and
44
+ diagnosed.
45
+
9
46
* [ SE-0311] [ ] :
10
47
11
48
Task local values can be defined using the new ` @TaskLocal ` property wrapper.
@@ -8639,3 +8676,5 @@ Swift 1.0
8639
8676
[SR- 11429 ]: < https: // bugs.swift.org/browse/SR-11429>
8640
8677
[SR- 11700 ]: < https: // bugs.swift.org/browse/SR-11700>
8641
8678
[SR- 11841 ]: < https: // bugs.swift.org/browse/SR-11841>
8679
+ [SR- 14731 ]: < https: // bugs.swift.org/browse/SR-14731>
8680
+ [SR- 14878 ]: < https: // bugs.swift.org/browse/SR-14878>
0 commit comments