> On Mar 11, 2017, at 9:49 AM, [email protected] wrote:
>
> 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] <mailto:[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] <mailto:[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.
If I was trying to subclass something and add extra instance variables, yeah, I
don’t think it would work. I’m not trying to subclass anything in this case,
though.
- Dave Sweeris
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution