mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
33 lines
1.0 KiB
Swift
33 lines
1.0 KiB
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
enum CarKind {
|
|
static let wagon = "Wagon"
|
|
case coupe
|
|
case sedan
|
|
case other(String)
|
|
}
|
|
|
|
extension CarKind {
|
|
static var myCoupe: CarKind {
|
|
return .coupe
|
|
}
|
|
}
|
|
|
|
func getCarKind() -> CarKind { return .sedan }
|
|
|
|
func drive(_ k1: _const CarKind, k2: _const CarKind) {}
|
|
|
|
func main() {
|
|
drive(.coupe, k2: .sedan)
|
|
drive(.sedan, k2: .coupe)
|
|
drive(CarKind.coupe, k2: CarKind.sedan)
|
|
drive(CarKind.sedan, k2: CarKind.coupe)
|
|
drive(.other(""), k2: .sedan) // expected-error {{expect a compile-time constant literal}}
|
|
drive(.other(CarKind.wagon), k2: .sedan) // expected-error {{expect a compile-time constant literal}}
|
|
|
|
drive(.myCoupe, k2: .sedan) // expected-error {{expect a compile-time constant literal}}
|
|
drive(.coupe, k2: .myCoupe) // expected-error {{expect a compile-time constant literal}}
|
|
drive(.coupe, k2: getCarKind()) // expected-error {{expect a compile-time constant literal}}
|
|
drive(getCarKind(), k2: .coupe) // expected-error {{expect a compile-time constant literal}}
|
|
}
|