Avatar
norio_nomura 8/6/2019 7:01 AM
シンタックスシュガーを使っていないオプショナルが、Swift 4でデフォルト値を持っていた挙動はバグだったとも、コメントからは読める。 // Note: Swift 4 had a bug where properties with a desugared optional // type like Optional<Int> had a half-way behavior where sometimes // they behave like they are default initialized, and sometimes not. // // In Swift 5 mode, use the right condition here, and only default // initialize properties with a sugared Optional type. // // (The restriction to sugared types only comes because we don't have // the iterative declaration checker yet; so in general, we cannot // look at the type of a property at all, and can only look at the // TypeRepr, because we haven't validated the property yet.) (edited)
7:04 AM
いや、違うな。
7:07 AM
Swift4でOptionalを持つ型のイニシャライザがバグってたから直したけど、その影響でsugared typeのOptionalだけ初期値を持てる様になってしまった、みたいな状態なのかな。 (edited)