How would that work for a subclass, if all properties of a class need to be 
initialized before the parent's initializer is called?

-Andrew

> On Mar 11, 2017, at 8:46 AM, Derrick Ho via swift-evolution 
> <[email protected]> wrote:
> 
> Seems like it should work. Maybe it is a bug that should be reported to SR.
> 
> Does this error occur for non-failable initializers?
>> On Sat, Mar 11, 2017 at 12:33 AM David Sweeris via swift-evolution 
>> <[email protected]> wrote:
>> Is this a feature or a bug?
>> class Foo {
>>     let bar: Int
>>     init?(someConditionBasedOnInputData: Bool) {
>>         var localBar: Int = 0
>>         defer {
>>             bar = localBar //Cannot assign to property: 'bar' is a 'let' 
>> constant
>>         }
>>         if someConditionBasedOnInputData {
>>             return nil
>>         }
>>     }
>> }
>> It’d be handy to be able to do the assignment upfront in a defer block in 
>> cases where there’s both a bunch of validation to do on the input data, and 
>> no harm from assigning the interim values to the final values when you’re 
>> about to return nil anyway.
>> 
>> - Dave Sweeris
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to