Files
swift-mirror/validation-test/compiler_crashers_fixed/0130-rdar35632543.swift
Hamish Knight 4e811c3a88 [test] Merge crasher directories
There is no longer much of a good reason to keep these separate,
merge them.
2025-10-18 12:51:30 +01:00

37 lines
751 B
Swift

// RUN: %target-swift-frontend %s -emit-ir
public protocol ObservableType {
associatedtype E
}
public protocol SubjectType : ObservableType {
associatedtype SubjectObserverType : ObserverType
}
extension ObservableType {
public func multicast<S: SubjectType>(_ subject: S) -> Observable<S.E> {
while true {}
}
}
extension ObservableType {
public func publish() -> Observable<E> {
return self.multicast(PublishSubject())
}
}
public class Observable<Element> : ObservableType {
public typealias E = Element
}
public protocol ObserverType {
associatedtype E
}
public final class PublishSubject<Element> : Observable<Element>, SubjectType, ObserverType
{
public typealias SubjectObserverType = PublishSubject<Element>
}