Skip to content

Commit a84be06

Browse files
committed
Replace the NoError type with Never in documentation
1 parent b772fa0 commit a84be06

File tree

6 files changed

+25
-26
lines changed

6 files changed

+25
-26
lines changed

Documentation/APIContracts.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ Consequently, failures should only be used to represent “abnormal” terminati
107107
event describing the result might be more appropriate.
108108

109109
If an event stream can _never_ fail, it should be parameterized with the
110-
special [`NoError`][NoError] type, which statically guarantees that a `failed`
110+
special `Never` type, which statically guarantees that a `failed`
111111
event cannot be sent upon the stream.
112112

113113
#### `completion` indicates success
@@ -545,7 +545,6 @@ synchronously retrieve one or more values from a stream, like `single()` or
545545
[Disposables]: FrameworkOverview.md#disposables
546546
[Events]: FrameworkOverview.md#events
547547
[Framework Overview]: FrameworkOverview.md
548-
[NoError]: ../Sources/Errors.swift
549548
[Observers]: FrameworkOverview.md#observers
550549
[Operators]: BasicOperators.md
551550
[Properties]: FrameworkOverview.md#properties

Documentation/BasicOperators.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ The `map` operator is used to transform the values in an event stream, creating
140140
a new stream with the results.
141141

142142
```Swift
143-
let (signal, observer) = Signal<String, NoError>.pipe()
143+
let (signal, observer) = Signal<String, Never>.pipe()
144144

145145
signal
146146
.map { string in string.uppercased() }
@@ -159,7 +159,7 @@ The `filter` operator is used to only include values in an event stream that
159159
satisfy a predicate.
160160

161161
```Swift
162-
let (signal, observer) = Signal<Int, NoError>.pipe()
162+
let (signal, observer) = Signal<Int, Never>.pipe()
163163

164164
signal
165165
.filter { number in number % 2 == 0 }
@@ -180,7 +180,7 @@ combined value. Note that the final value is only sent after the input stream
180180
completes.
181181

182182
```Swift
183-
let (signal, observer) = Signal<Int, NoError>.pipe()
183+
let (signal, observer) = Signal<Int, Never>.pipe()
184184

185185
signal
186186
.reduce(1) { $0 * $1 }
@@ -197,7 +197,7 @@ a single array value. Note that the final value is only sent after the input
197197
stream completes.
198198

199199
```Swift
200-
let (signal, observer) = Signal<Int, NoError>.pipe()
200+
let (signal, observer) = Signal<Int, Never>.pipe()
201201

202202
signal
203203
.collect()
@@ -226,8 +226,8 @@ least one value. After that, new values on any of the inputs will result in
226226
a new value on the output.
227227

228228
```Swift
229-
let (numbersSignal, numbersObserver) = Signal<Int, NoError>.pipe()
230-
let (lettersSignal, lettersObserver) = Signal<String, NoError>.pipe()
229+
let (numbersSignal, numbersObserver) = Signal<Int, Never>.pipe()
230+
let (lettersSignal, lettersObserver) = Signal<String, Never>.pipe()
231231

232232
let signal = Signal.combineLatest(numbersSignal, lettersSignal)
233233
signal.observeValues { next in print("Next: \(next)") }
@@ -256,8 +256,8 @@ That means the Nth value of the output stream cannot be sent until each input
256256
has sent at least N values.
257257

258258
```Swift
259-
let (numbersSignal, numbersObserver) = Signal<Int, NoError>.pipe()
260-
let (lettersSignal, lettersObserver) = Signal<String, NoError>.pipe()
259+
let (numbersSignal, numbersObserver) = Signal<Int, Never>.pipe()
260+
let (lettersSignal, lettersObserver) = Signal<String, Never>.pipe()
261261

262262
let signal = Signal.zip(numbersSignal, lettersSignal)
263263
signal.observeValues { next in print("Next: \(next)") }
@@ -309,9 +309,9 @@ Note, how the values interleave and which values are even included in the result
309309
The `.merge` strategy immediately forwards every value of the inner event streams to the outer event stream. Any failure sent on the outer event stream or any inner event stream is immediately sent on the flattened event stream and terminates it.
310310

311311
```Swift
312-
let (lettersSignal, lettersObserver) = Signal<String, NoError>.pipe()
313-
let (numbersSignal, numbersObserver) = Signal<String, NoError>.pipe()
314-
let (signal, observer) = Signal<Signal<String, NoError>, NoError>.pipe()
312+
let (lettersSignal, lettersObserver) = Signal<String, Never>.pipe()
313+
let (numbersSignal, numbersObserver) = Signal<String, Never>.pipe()
314+
let (signal, observer) = Signal<Signal<String, Never>, Never>.pipe()
315315

316316
signal.flatten(.merge).observeValues { print($0) }
317317

@@ -334,9 +334,9 @@ numbersObserver.send(value: "3") // prints "3"
334334
The `.concat` strategy is used to serialize events of the inner event streams. The outer event stream is started observed. Each subsequent event stream is not observed until the preceeding one has completed. Failures are immediately forwarded to the flattened event stream.
335335

336336
```Swift
337-
let (lettersSignal, lettersObserver) = Signal<String, NoError>.pipe()
338-
let (numbersSignal, numbersObserver) = Signal<String, NoError>.pipe()
339-
let (signal, observer) = Signal<Signal<String, NoError>, NoError>.pipe()
337+
let (lettersSignal, lettersObserver) = Signal<String, Never>.pipe()
338+
let (numbersSignal, numbersObserver) = Signal<String, Never>.pipe()
339+
let (signal, observer) = Signal<Signal<String, Never>, Never>.pipe()
340340

341341
signal.flatten(.concat).observeValues { print($0) }
342342

@@ -361,9 +361,9 @@ numbersObserver.sendCompleted() // nothing printed
361361
The `.latest` strategy forwards only values or a failure from the latest input event stream.
362362

363363
```Swift
364-
let (lettersSignal, lettersObserver) = Signal<String, NoError>.pipe()
365-
let (numbersSignal, numbersObserver) = Signal<String, NoError>.pipe()
366-
let (signal, observer) = Signal<Signal<String, NoError>, NoError>.pipe()
364+
let (lettersSignal, lettersObserver) = Signal<String, Never>.pipe()
365+
let (numbersSignal, numbersObserver) = Signal<String, Never>.pipe()
366+
let (signal, observer) = Signal<Signal<String, Never>, Never>.pipe()
367367

368368
signal.flatten(.latest).observeValues { print($0) }
369369

@@ -392,7 +392,7 @@ let producer = SignalProducer(signal)
392392
let error = NSError(domain: "domain", code: 0, userInfo: nil)
393393

394394
producer
395-
.flatMapError { _ in SignalProducer<String, NoError>(value: "Default") }
395+
.flatMapError { _ in SignalProducer<String, Never>(value: "Default") }
396396
.startWithValues { print($0) }
397397

398398

@@ -500,7 +500,7 @@ observer.send(error: NSError(domain: "com.example.foo", code: 42, userInfo: nil)
500500
The `promoteError` operator promotes an event stream that does not generate failures into one that can.
501501

502502
```Swift
503-
let (numbersSignal, numbersObserver) = Signal<Int, NoError>.pipe()
503+
let (numbersSignal, numbersObserver) = Signal<Int, Never>.pipe()
504504
let (lettersSignal, lettersObserver) = Signal<String, NSError>.pipe()
505505

506506
numbersSignal

Documentation/DebuggingTechniques.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ In both cases errors are related to incorrect assumptions about type. Such issue
1414
Below is an example of type-error scenario:
1515

1616
```swift
17-
SignalProducer<Int, NoError>(value:42)
17+
SignalProducer<Int, Never>(value:42)
1818
.on(value: { answer in
1919
return _
2020
})
@@ -26,7 +26,7 @@ SignalProducer<Int, NoError>(value:42)
2626
The code above will not compile with the following error on the `.startWithCompleted` call `error: cannot convert value of type 'Disposable' to closure result type '()'. To find the actual compile error, the chain needs to be broken apart. Add explicit definitions of closure types on each of the steps:
2727

2828
```swift
29-
let initialProducer = SignalProducer<Int, NoError>.init(value:42)
29+
let initialProducer = SignalProducer<Int, Never>.init(value:42)
3030
let sideEffectProducer = initialProducer.on(value: { (answer: Int) in
3131
return _
3232
})

Documentation/FrameworkOverview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ terminal events:
2424
* The `failed` event indicates that an error occurred before the signal could
2525
finish. Events are parameterized by an `ErrorType`, which determines the kind
2626
of failure that’s permitted to appear in the event. If a failure is not
27-
permitted, the event can use type `NoError` to prevent any from being
27+
permitted, the event can use type `Never` to prevent any from being
2828
provided.
2929
* The `completed` event indicates that the signal finished successfully, and
3030
that no more values will be sent by the source.

Documentation/ReactivePrimitives.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The owner of a `Signal` has unilateral control of the event stream. Observers ma
1313
A `Signal` is like a live TV feed — you can observe and react to the content, but you cannot have a side effect on the live feed or the TV station.
1414

1515
```swift
16-
let channel: Signal<Program, NoError> = tvStation.channelOne
16+
let channel: Signal<Program, Never> = tvStation.channelOne
1717
channel.observeValues { program in ... }
1818
```
1919

Documentation/RxComparison.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ the kind of error must be specified in the type system. For example,
4747
`Signal<Int, AnyError>` is a signal of integer values that may fail with an error
4848
of type `AnyError`.
4949

50-
More importantly, RAC allows the special type `NoError` to be used instead,
50+
More importantly, RAC allows the special type `Never` to be used instead,
5151
which _statically guarantees_ that an event stream is not allowed to send a
5252
failure. **This eliminates many bugs caused by unexpected failure events.**
5353

0 commit comments

Comments
 (0)