blob: 1e648eb3141a0fc7a39a90fdafd2815a3380fc79 [file] [log] [blame]
// RUN: %target-swift-frontend -emit-sil %s -o /dev/null
class SomeClass {}
// These are tests for values that are only initialized on some path through the
// CFG.
func partialInit() {
// Value of trivial type.
func trivial(ni : Int) {
var n = ni
while (n > 0) {
n -= 1
var x : Int
if (n > 2) { continue }
x = 1
_ = x
}
}
// Tuple with only some elements specified.
func trivial_tuple() {
var a : (Int, Int)
a.1 = 1
_ = a.1
}
func tuple_test(cond : Bool) {
var x : (SomeClass, SomeClass)
if cond {
x.0 = SomeClass()
} else {
x.1 = SomeClass()
_ = x.1
}
}
}
func tuple_test() -> Int {
var t : (Int, Int)
t.1 = 4
for _ in 0..<45 {
}
t.0 = 1
for _ in 0..<45 {
}
return t.1+t.0 // No diagnostic, everything is fully initialized.
}