1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
// swift-interface-format-version: 1.0
// swift-module-flags: -swift-version 5 -enable-library-evolution -module-name UnderscoredProto
public protocol _UnderscoredProto {}
public protocol _UnderscoredProto2 {
associatedtype Elem
}
public extension _UnderscoredProto {
func fromProtoExtension()
}
public extension _UnderscoredProto2 {
func fromProto2Extension(takesElem: Elem)
}
@available(*, deprecated, message: "")
public extension _UnderscoredProto {
func fromDeprecatedProtoExtension(){}
}
public extension _UnderscoredProto2 where Elem == String {
func fromConditionalProto2Extension(takesElemIfString: Elem)
}
@available(*, deprecated, message: "")
public extension _UnderscoredProto2 where Elem == Int {
func fromDeprecatedConditionalProto2Extension(takesElemInt: Elem)
}
public struct A<T> {
public func fromA(takesT: T)
}
extension A {
public func fromAExtension(takesT: T)
}
extension A : _UnderscoredProto {}
extension A : _UnderscoredProto2 where T == String {
public typealias Elem = Int
public func fromAConditionalExtension(takesTIfString: T)
}
public class B<T>: _UnderscoredProto {
public func fromB(takesT: T)
}
extension B: _UnderscoredProto2 {
public typealias Elem = String
}
public class C<U,V>: B<String> where U: Equatable {
public func fromC(takesUIfEquatable: U)
}
public protocol _UnderscoredProto3 {
associatedtype Elem1
associatedtype Elem2
}
extension _UnderscoredProto3 {
public func fromProto3Extension(takesElem1: Elem1)
public func fromProto3Extension(takesElem2: Elem2)
}
public protocol _UnderscoredProto4: _UnderscoredProto3 where Elem2: Equatable {}
extension _UnderscoredProto4 {
public func fromProto4Extension(takesElem2IfEquatable: Elem2)
}
extension _UnderscoredProto4 where Elem2: Hashable {
public func fromProto4Extension(takesElem2IfHashable: Elem2)
}
extension C: _UnderscoredProto4 {
public typealias Elem1 = V
public typealias Elem2 = U
public func fromCConditionlExtension(takesU: U)
}
public struct D<T, U> {
public func fromD(takesT: T, takesU: U)
}
public protocol Other1 {}
public protocol _SomeProto {
associatedtype Item
}
extension _SomeProto where Item: Other1 {
public func fromSomeProtoExtensionSplitConditions(takesItemIfOther1: Item)
}
extension D: _SomeProto where T: Equatable {
public typealias Item = T
}
|