// RUN: %target-swift-frontend -emit-sil -verify %s @_propertyDelegate final class ClassWrapper { var value: T { didSet { print(" .. set \(value)") } } init(initialValue: T) { print(" .. init \(initialValue)") self.value = initialValue } deinit { print(" .. deinit \(value)") } } struct IntStructWithClassWrapper { @ClassWrapper var wrapped: Int init() { wrapped = 42 // expected-error{{'self' used before all stored properties are initialized}} // expected-note@-1{{'self.wrapped' not initialized}} } // expected-error{{return from initializer without initializing all stored properties}} // expected-note@-1{{'self.wrapped' not initialized}} init(conditional b: Bool) { if b { self.$wrapped = ClassWrapper(initialValue: 32) } else { wrapped = 42 // expected-error{{'self' used before all stored properties are initialized}} // expected-note@-1{{'self.wrapped' not initialized}} } } // expected-error{{return from initializer without initializing all stored properties}} // expected-note@-1{{'self.wrapped' not initialized}} init(dynamic b: Bool) { if b { wrapped = 42 // expected-error{{'self' used before all stored properties are initialized}} // expected-note@-1{{'self.wrapped' not initialized}} } wrapped = 27 // expected-error{{'self' used before all stored properties are initialized}} // expected-note@-1{{'self.wrapped' not initialized}} } // expected-error{{return from initializer without initializing all stored properties}} // expected-note@-1{{'self.wrapped' not initialized}} }