// RUN: %target-swiftc_driver -Xfrontend -disable-sil-ownership-verifier -emit-sil %s -o /dev/null -Xfrontend -verify // TODO: Change this back to using target-swift-frontend once we move errors to // type checker and SILGen. class Klass {} class B { init(x: inout Int) {} init(x: inout Klass) {} } class A : B { let x: Int // expected-note {{change 'let' to 'var' to make it mutable}} init() { self.x = 12 super.init(x: &x) // expected-error {{immutable value 'self.x' must not be passed inout}} } } class C : B { let x: Klass // expected-note {{change 'let' to 'var' to make it mutable}} init() { self.x = Klass() super.init(x: &x) // expected-error {{immutable value 'self.x' must not be passed inout}} } } class D : B { var x: Int init() { self.x = 12 super.init(x: &x) } } class E : B { var x: Klass init() { self.x = Klass() super.init(x: &x) } }