@@ -39,6 +39,15 @@ Swift 5.0
39
39
Swift 4.1
40
40
---------
41
41
42
+ * [ SE-0143] [ ]
43
+
44
+ The standard library types ` Optional ` , ` Array ` , ` ArraySlice ` ,
45
+ ` ContiguousArray ` , ` Dictionary ` , ` DictionaryLiteral ` , ` Range ` , ` ClosedRange ` ,
46
+ ` AnyCollection ` , and ` CollectionOfOne ` now conform to the ` Hashable ` protocol
47
+ when their element or bound types (as the case may be) conform to ` Hashable ` .
48
+ This makes synthesized ` Hashable ` implementations available for types that
49
+ include stored properties of these types.
50
+
42
51
* [ SE-0189] [ ]
43
52
44
53
If an initializer is declared in a different module from a struct, it must
@@ -74,12 +83,12 @@ Swift 4.1
74
83
s[keyPath : p] // "H"
75
84
```
76
85
77
- * [ SE-0143] [ ] The standard library types ` Optional ` , ` Array ` , and
78
- ` Dictionary` now conform to the `Equatable` protocol when their element types
79
- conform to `Equatable`. This allows the `==` operator to compose (e.g., one
80
- can compare two values of type `[Int : [Int?]?]` with `==`), as well as use
81
- various algorthims defined for ` Equatable ` element types, such as
82
- ` index(of:) ` .
86
+ * [ SE-0143] [ ] The standard library types ` Optional ` , ` Array ` , ` ArraySlice ` ,
87
+ ` ContiguousArray ` , and ` Dictionary ` now conform to the ` Equatable ` protocol
88
+ when their element types conform to ` Equatable ` . This allows the ` == ` operator
89
+ to compose (e.g., one can compare two values of type ` [Int : [Int?]?] ` with
90
+ ` == ` ), as well as use various algorthims defined for ` Equatable ` element
91
+ types, such as ` index(of:) ` .
83
92
84
93
* [ SE-0157] [ ] is implemented. Associated types can now declare "recursive"
85
94
constraints, which require that the associated type conform to the enclosing
0 commit comments