[swift-evolution] Extending init checks for property initialization
svabox at gmail.com
Fri Apr 29 03:00:14 CDT 2016
Can't see any significant extra overhead because of implicity unwrapped
property for your code. Could you clarify?
As for "going away" - as I understand, just ImplicitlyUnwrappedOptional
type itself will be removed, but not the "implicitly unwrapped" feature:
"Appending ! to the type of a Swift declaration will give it optional type
and annotate the declaration with an attribute stating that it may be
implicitly unwrapped when used."
So I still think right now the solution for your issue is implicitly
unwrapped optional. But again, I 100% support the idea of "defer init",
more specifically the idea of explicitly called "defer init" in other
inits, if "defer init()" is defined.
On 29.04.2016 3:49, David Sweeris wrote:
>> On Apr 28, 2016, at 11:50 AM, Vladimir.S via swift-evolution <swift-evolution at swift.org> wrote:
>> I think I like this idea. It is clear that it is init() and 'defer' says that it is called at the end of each init. IMO we need exactly some kind of 'init' as only in init we can set un-initialized stored properties.
>> But, why implicitly unwrapped optionals are not solution here? I.e.
> To avoid the extra overhead. Also, they’re sorta going away in Swift 3: https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.md
> - Dave Sweeris.
More information about the swift-evolution