Files
swift-mirror/validation-test/compiler_crashers_fixed/rdar62268062.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

42 lines
799 B
Swift

// RUN: %target-swift-frontend -emit-ir %s
public protocol HorseSaddle {}
public enum EnglishSaddle : HorseSaddle {}
public enum WesternSaddle<A, B> : HorseSaddle {}
public protocol Horse {
associatedtype Body : Horse
associatedtype Saddle: HorseSaddle
var body: Body { get }
}
extension Horse {
typealias Saddle = Body.Saddle
}
public struct DraftHorse<T> : Pony {
public typealias Saddle = EnglishSaddle
public typealias Body = Never
var contents: T
}
// MARK: - Implementation detail
extension Never : Horse {
public typealias Saddle = EnglishSaddle
public typealias Body = Never
public var body: Never {
switch self {}
}
}
protocol Pony : Horse where Body == Never {}
extension Pony {
public var body: Never { fatalError() }
}