Skip to content

Commit

Permalink
Subscribers reentrancy bugs fix (#211)
Browse files Browse the repository at this point in the history
Co-authored-by: VassilyChi <chijie@bytedance.com>
  • Loading branch information
2 people authored and broadwaylamb committed Jul 28, 2021
1 parent 3d3adb5 commit b27b2c3
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 8 deletions.
2 changes: 1 addition & 1 deletion Tests/OpenCombineTests/Helpers/AutomaticallyFinish.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ final class AutomaticallyFinish<Output, Failure: Error> {
func listen(receiveCompletion: @escaping (Subscribers.Completion<Failure>) -> Void,
receiveValue: @escaping (Output) -> Void) -> AnyCancellable {
return publisher.sink(receiveCompletion: receiveCompletion,
receiveValue: receiveValue)
receiveValue: receiveValue)
}
}

Expand Down
5 changes: 0 additions & 5 deletions Tests/OpenCombineTests/Helpers/CustomPublisher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,8 @@ import OpenCombine
/// publisher.subscribe(subscriber)
///
/// assert(subscription.history == [.requested(.max(42)), .cancelled])
@available(macOS 10.15, iOS 13.0, *)
typealias CustomPublisher = CustomPublisherBase<Int, TestingError>

@available(macOS 10.15, iOS 13.0, *)
class CustomPublisherBase<Output, Failure: Error>: Publisher, Cancellable {

private(set) var subscriber: AnySubscriber<Output, Failure>?
Expand Down Expand Up @@ -83,18 +81,15 @@ class CustomPublisherBase<Output, Failure: Error>: Publisher, Cancellable {
}
}

@available(macOS 10.15, iOS 13.0, *)
extension CustomPublisherBase: Equatable {
static func == (lhs: CustomPublisherBase<Output, Failure>,
rhs: CustomPublisherBase<Output, Failure>) -> Bool {
return lhs === rhs
}
}

@available(macOS 10.15, iOS 13.0, *)
typealias CustomConnectablePublisher = CustomConnectablePublisherBase<Int, TestingError>

@available(macOS 10.15, iOS 13.0, *)
final class CustomConnectablePublisherBase<Output, Failure: Error>
: CustomPublisherBase<Output, Failure>,
ConnectablePublisher
Expand Down
2 changes: 0 additions & 2 deletions Tests/OpenCombineTests/Helpers/CustomSubscription.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import OpenCombine
///
/// In order to inject `CustomSubscription` into the chain of subscriptions,
/// use the `CustomSubscriber` class.
@available(macOS 10.15, iOS 13.0, *)
final class CustomSubscription: Subscription, CustomStringConvertible {

enum Event: Equatable, CustomStringConvertible {
Expand Down Expand Up @@ -79,7 +78,6 @@ final class CustomSubscription: Subscription, CustomStringConvertible {
var description: String { return "CustomSubscription" }
}

@available(macOS 10.15, iOS 13.0, *)
extension CustomSubscription: Equatable {
static func == (lhs: CustomSubscription, rhs: CustomSubscription) -> Bool {
return lhs === rhs
Expand Down

0 comments on commit b27b2c3

Please sign in to comment.