mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
73 lines
1.1 KiB
Swift
73 lines
1.1 KiB
Swift
// RUN: %target-run-simple-swift | FileCheck %s
|
|
// REQUIRES: executable_test
|
|
|
|
struct S {
|
|
var a, b : Int
|
|
init(_ a : Int, _ b : Int) {
|
|
self.a = a
|
|
self.b = b
|
|
}
|
|
init(_ x:UnicodeScalar) {
|
|
a = 219
|
|
b = 912
|
|
print("constructed \(x)")
|
|
}
|
|
}
|
|
|
|
class C {
|
|
var a, b : Int
|
|
init(x:UnicodeScalar) {
|
|
a = 20721
|
|
b = 12702
|
|
print("constructed \(x)")
|
|
}
|
|
}
|
|
|
|
class D : C {
|
|
init() {
|
|
super.init(x: "z")
|
|
print("...in bed")
|
|
}
|
|
}
|
|
|
|
func print(s: S) {
|
|
print("S(a=\(s.a), b=\(s.b))")
|
|
}
|
|
|
|
func print(c: C) {
|
|
print("C(a=\(c.a), b=\(c.b))")
|
|
}
|
|
|
|
// CHECK: S(a=1, b=2)
|
|
print(S(1, 2))
|
|
// CHECK: constructed x
|
|
// CHECK: S(a=219, b=912)
|
|
print(S("x"))
|
|
|
|
// CHECK: constructed y
|
|
// CHECK: C(a=20721, b=12702)
|
|
print(C(x: "y"))
|
|
|
|
// CHECK: constructed z
|
|
// CHECK: ...in bed
|
|
// CHECK: C(a=20721, b=12702)
|
|
print(D())
|
|
|
|
class BaseWithDummyParameter {
|
|
init() {
|
|
fatalError("wrong init")
|
|
}
|
|
init(dummy: ()) {
|
|
print("correct")
|
|
}
|
|
}
|
|
class DerivedWithDummyParameter : BaseWithDummyParameter {
|
|
override init() {
|
|
super.init(dummy: ())
|
|
}
|
|
}
|
|
|
|
_ = BaseWithDummyParameter(dummy: ()) // CHECK: correct
|
|
_ = DerivedWithDummyParameter() // CHECK: correct
|
|
|