blob: cc6e09eb8bd8fd6c79a6f6d1ac9d2c67774d677e [file] [log] [blame]
// RUN: %target-swift-frontend -emit-sil -verify %s
// rdar://problem/29716016 - Check that we properly enforce DI on `let`
// variables and class properties.
protocol P { }
extension P {
mutating func foo() {}
var bar: Int { get { return 0 } set {} }
}
class ImmutableP {
let field: P // expected-note* {{}}
init(field: P) {
self.field = field
self.field.foo() // expected-error{{}}
self.field.bar = 4 // expected-error{{}}
}
}
func immutableP(field: P) {
let x: P // expected-note* {{}}
x = field
x.foo() // expected-error{{}}
x.bar = 4 // expected-error{{}}
}