blob: 28b367a6fb0099203c5f0f8c12fb2211e2ae3025 [file] [log] [blame]
// RUN: %target-typecheck-verify-swift
import Swift
@objc
protocol P2 {
func bar(_ x: Int)
static func pub(_ x: Int)
}
func existential(_ p2 : P2) {
_ = p2.bar
_ = P2.bar
}
func archetype<T: P2>(_ p2 : T) {
_ = p2.bar
_ = T.bar
_ = T.pub
}
// rdar://problem/22012606 - test applications of subscript members of class-constrained protocols
@objc protocol subject_ClassConstrainedSubscript {
subscript(index: Int) -> Int { get }
}
@objc class test_HasSubscript : subject_ClassConstrainedSubscript {
subscript(index: Int) -> Int { get { return 0 } }
}
func test_subject_ClassConstrainedSubscript() {
let list: subject_ClassConstrainedSubscript! = test_HasSubscript()
_ = list[0]
}