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
@@ -37,11 +37,11 @@ public struct PrivateImportType {}
37
37
publicimport PublicLib
38
38
packageimport PackageLib // expected-note {{struct 'PackageImportType' imported as 'package' from 'PackageLib' here}}
39
39
internalimport InternalLib // expected-note {{struct 'InternalImportType' imported as 'internal' from 'InternalLib' here}}
40
-
fileprivateimport FileprivateLib // expected-note 2 {{struct 'FileprivateImportType' imported as 'fileprivate' from 'FileprivateLib' here}}
41
-
privateimport PrivateLib // expected-note 2 {{struct 'PrivateImportType' imported as 'private' from 'PrivateLib' here}}
40
+
fileprivateimport FileprivateLib // expected-note 3 {{struct 'FileprivateImportType' imported as 'fileprivate' from 'FileprivateLib' here}}
41
+
privateimport PrivateLib // expected-note 1 {{struct 'PrivateImportType' imported as 'private' from 'PrivateLib' here}}
42
42
43
43
/// Simple ordering
44
-
publicfunc publicFuncUsesPrivate(_ a:PublicImportType, b:PackageImportType, c:InternalImportType, d:FileprivateImportType, e:PrivateImportType){ // expected-error {{function cannot be declared public because its parameter uses a private type}}
44
+
publicfunc publicFuncUsesPrivate(_ a:PublicImportType, b:PackageImportType, c:InternalImportType, d:FileprivateImportType, e:PrivateImportType){ // expected-error {{function cannot be declared public because its parameter uses a fileprivate type}}
45
45
var _:PrivateImportType
46
46
}
47
47
publicfunc publicFuncUsesFileprivate(_ a:PublicImportType, b:PackageImportType, c:InternalImportType, d:FileprivateImportType){ // expected-error {{function cannot be declared public because its parameter uses a fileprivate type}}
publicclassPublicSubclassFilepriovate:FileprivateImportClass{} // expected-error {{class cannot be declared public because its superclass is fileprivate}}
132
+
publicclassPublicSubclassFileprivate:FileprivateImportClass{} // expected-error {{class cannot be declared public because its superclass is fileprivate}}
fileprivatefunc FileprivateFuncUsesPrivate(_:PrivateImportType){ // expected-error {{function cannot be declared fileprivate because its parameter uses a private type}}
fileprivatefunc FileprivateFuncReturnUsesPrivate()->PrivateImportType{ // expected-error {{function cannot be declared fileprivate because its result uses a private type}}
fileprivate subscript(index:PrivateImportType)->PrivateImportType{ // expected-error {{subscript cannot be declared fileprivate because its index uses a private type}}
publicclassPublicSubclassPackage:PackageImportClass{} // expected-error {{class cannot be declared public because its superclass is package}}
464
464
publicclassPublicSubclassInternal:InternalImportClass{} // expected-error {{class cannot be declared public because its superclass is internal}}
465
-
publicclassPublicSubclassFilepriovate:FileprivateImportClass{} // expected-error {{class cannot be declared public because its superclass is fileprivate}}
465
+
publicclassPublicSubclassFileprivate:FileprivateImportClass{} // expected-error {{class cannot be declared public because its superclass is fileprivate}}
466
466
publicclassPublicSubclassPrivate:PrivateImportClass{} // expected-error {{class cannot be declared public because its superclass is private}}
packageclassPackageSubclassInternal:InternalImportClass{} // expected-error {{class cannot be declared package because its superclass is internal}}
484
-
packageclassPackageSubclassFilepriovate:FileprivateImportClass{} // expected-error {{class cannot be declared package because its superclass is fileprivate}}
484
+
packageclassPackageSubclassFileprivate:FileprivateImportClass{} // expected-error {{class cannot be declared package because its superclass is fileprivate}}
485
485
packageclassPackageSubclassPrivate:PrivateImportClass{} // expected-error {{class cannot be declared package because its superclass is private}}
internalclassInternalSubclassFilepriovate:FileprivateImportClass{} // expected-error {{class cannot be declared internal because its superclass is fileprivate}}
503
+
internalclassInternalSubclassFileprivate:FileprivateImportClass{} // expected-error {{class cannot be declared internal because its superclass is fileprivate}}
504
504
internalclassInternalSubclassPrivate:PrivateImportClass{} // expected-error {{class cannot be declared internal because its superclass is private}}
505
505
506
506
507
507
fileprivateprotocolFileprivateProtoUsesPublic:PublicImportProtowhere T ==PublicImportType{}
508
508
fileprivateprotocolFileprivateProtoWherePackage:PublicImportProtowhere T ==PackageImportType{}
509
509
fileprivateprotocolFileprivateProtoWhereInternal:PublicImportProtowhere T ==InternalImportType{}
510
510
fileprivateprotocolFileprivateProtoWhereFileprivate:PublicImportProtowhere T ==FileprivateImportType{}
511
-
fileprivateprotocolFileprivateProtoWherePrivate:PublicImportProtowhere T ==PrivateImportType{} // expected-error {{fileprivate protocol's 'where' clause cannot use a private struct}}
511
+
fileprivateprotocolFileprivateProtoWherePrivate:PublicImportProtowhere T ==PrivateImportType{}
fileprivateclassFileprivateSubclassPrivate:PrivateImportClass{} // expected-error {{class cannot be declared fileprivate because its superclass is private}}
fileprivatetypealiasTAPrivate=PrivateImportProto // expected-error {{type alias cannot be declared fileprivate because its underlying type uses a private type}}
// Accocciated type have a minimum formal access level at internal.
632
-
associatedtypeATDefaultPrivate=PrivateImportProto // expected-error {{associated type in an internal protocol uses a private type in its default definition}}
fileprivatevarj:PublicImportType // expected-error {{property cannot be declared fileprivate because its property wrapper type uses a private type}}
746
+
fileprivatevarj:PublicImportType
747
747
748
748
fileprivatevark=PublicImportType()
749
749
fileprivatevarl=PackageImportType()
750
750
fileprivatevarm=InternalImportType()
751
751
fileprivatevarn=FileprivateImportType()
752
-
fileprivatevaro=PrivateImportType() // expected-error {{property cannot be declared fileprivate because its type 'PrivateImportType' uses a private type}}
fileprivatestructFileprivateGenericUsesPrivate<A:PrivateImportProto>{} // expected-error {{generic struct cannot be declared fileprivate because its generic parameter uses a private type}}
0 commit comments