blob: 1dd2d54f693adf634baf1ce3741ac450b07ddc09 [file] [log] [blame]
// RUN: not --crash %target-swift-frontend -emit-ir %s
public protocol TypedParserResultTransferType {
// Remove type constraint
associatedtype Result: ParserResult
}
public struct AnyTypedParserResultTransferType<P: ParserResult>: TypedParserResultTransferType {
public typealias Result = P
// Remove property
public let result: P
}
public protocol ParserResult {}
public protocol StaticParser: ParserResult {}
// Change comformance to ParserResult
public protocol TypedStaticParser: StaticParser {
// Remove type constraint
associatedtype ResultTransferType: TypedParserResultTransferType
}
// Remove where clause
public protocol MutableSelfStaticParser: TypedStaticParser where ResultTransferType == AnyTypedParserResultTransferType<Self> {
func parseTypeVar() -> AnyTypedParserResultTransferType<Self>
}
extension MutableSelfStaticParser {
public func anyFunction() -> () {
let t = self.parseTypeVar
// Remove this and below
_ = t()
_ = self.parseTypeVar()
}
}