You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sema: Fix bug with private access scopes in Swift 3 mode
In Swift 3 mode, the canonical private DeclContext should
not look through extensions.
The only way I can reproduce this is with a missing warning
and we don't really care about missing warnings in Swift 3 mode.
However, the next patch in this PR regresses more things so
let's fix it properly.
varprivateVar:VeryPrivateType{fatalError()} // expected-warning {{property should be declared private because its type uses a private type}}
175
176
varprivateVar2=VeryPrivateType() // expected-warning {{property should be declared private because its type 'Container.VeryPrivateStruct.VeryPrivateType' (aka 'Int') uses a private type}}
177
+
varprivateVar3=VeryPrivateInnerStruct() // expected-warning {{property should be declared private because its type 'Container.VeryPrivateStruct.VeryPrivateInnerStruct' uses a private type}}
176
178
typealiasPrivateAlias=VeryPrivateType // expected-warning {{type alias should be declared private because its underlying type uses a private type}}
177
179
subscript(_:VeryPrivateType)->Void{return()} // expected-warning {{subscript should be declared private because its index uses a private type}}
178
180
func privateMethod(_:VeryPrivateType)->Void{} // expected-warning {{method should be declared private because its parameter uses a private type}} {{none}}
varprivateVar:VeryPrivateType{fatalError()} // expected-error {{property must be declared private because its type uses a private type}}
175
176
varprivateVar2=VeryPrivateType() // expected-error {{property must be declared private because its type 'Container.VeryPrivateStruct.VeryPrivateType' (aka 'Int') uses a private type}}
177
+
varprivateVar3=VeryPrivateInnerStruct() // expected-error {{property must be declared private because its type 'Container.VeryPrivateStruct.VeryPrivateInnerStruct' uses a private type}}
176
178
typealiasPrivateAlias=VeryPrivateType // expected-error {{type alias must be declared private because its underlying type uses a private type}}
177
179
subscript(_:VeryPrivateType)->Void{return()} // expected-error {{subscript must be declared private because its index uses a private type}}
178
180
func privateMethod(_:VeryPrivateType)->Void{} // expected-error {{method must be declared private because its parameter uses a private type}} {{none}}
0 commit comments