You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+29Lines changed: 29 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,31 @@ _**Note:** This is in reverse chronological order, so newer entries are added to
5
5
6
6
## Swift 5.7
7
7
8
+
*[SE-0350][]:
9
+
10
+
The standard library has a new `Regex<Output>` type.
11
+
12
+
This type represents an _extended regular expression_, allowing more fluent
13
+
string processing operations. A `Regex` may be created by
14
+
[initialization from a string][SE-0355]:
15
+
```
16
+
let pattern = "a[bc]+" // matches "a" followed by one or more instances
17
+
// of either "b" or "c"
18
+
let regex = try! Regex(pattern)
19
+
```
20
+
Or via a [regex literal][SE-0354]:
21
+
```
22
+
let regex = #/a[bc]+/#
23
+
```
24
+
In Swift 6, `/` will also be supported as a delimiter for `Regex` literals.
25
+
You can enable this mode in Swift 5.7 with the `-enable-bare-slash-regex`
26
+
flag. Doing so will cause some existing expressions that use `/` as an
27
+
operator to no longer compile; you can add parentheses or line breaks as a
28
+
workaround.
29
+
30
+
There are [new string-processing algorithms][SE-0357] that support
31
+
`String`, `Regex` and arbitrary `Collection` types.
32
+
8
33
*[SE-0329][]:
9
34
New types representing time and clocks were introduced. This includes a protocol `Clock` defining clocks which allow for defining a concept of now and a way to wake up after a given instant. Additionally a new protocol `InstantProtocol` for defining instants in time was added. Furthermore a new protocol `DurationProtocol` was added to define an elapsed duration between two given `InstantProtocol` types. Most commonly the `Clock` types for general use are the `SuspendingClock` and `ContinuousClock` which represent the most fundamental clocks for the system. The `SuspendingClock` type does not progress while the machine is suspended whereas the `ContinuousClock` progresses no matter the state of the machine.
0 commit comments