Files
swift-mirror/test/Sema/generic-subscript.swift
2023-04-27 08:17:54 +08:00

35 lines
703 B
Swift

// RUN: %target-typecheck-verify-swift
protocol P {
subscript<Value>(x: Value) -> Int // expected-note {{protocol requires subscript with type '<Value> (Value) -> Int'; do you want to add a stub?}}
{
get
}
}
struct S: P // expected-error {{type 'S' does not conform to protocol 'P'}}
{
subscript<Value>(x: Int) -> Value // expected-note {{candidate has non-matching type '<Value> (Int) -> Value'}}
{
} // expected-error {{missing return in subscript expected to return 'Value'}}
}
struct S2: P {
subscript<Value>(x: Value) -> Int {
return 123
}
}
protocol P2 {
subscript(x: Int) -> Int
{
get
}
}
struct S3: P2 {
subscript(x: Int) -> Int {
return x
}
}