@@ -195,7 +195,7 @@ private func somePrivateFunction() {}
195
195
-> internal class SomeInternalClass {}
196
196
-> fileprivate class SomeFilePrivateClass {}
197
197
-> private class SomePrivateClass {}
198
- ---
198
+
199
199
-> open var someOpenVariable = 0
200
200
-> public var somePublicVariable = 0
201
201
-> internal let someInternalConstant = 0
@@ -284,18 +284,18 @@ private class SomePrivateClass { // explicitly private class
284
284
fileprivate func someFilePrivateMethod() {} // explicitly file-private class member
285
285
private func somePrivateMethod() {} // explicitly private class member
286
286
}
287
- ---
287
+
288
288
-> class SomeInternalClass { // implicitly internal class
289
289
var someInternalProperty = 0 // implicitly internal class member
290
290
fileprivate func someFilePrivateMethod() {} // explicitly file-private class member
291
291
private func somePrivateMethod() {} // explicitly private class member
292
292
}
293
- ---
293
+
294
294
-> fileprivate class SomeFilePrivateClass { // explicitly file-private class
295
295
func someFilePrivateMethod() {} // implicitly file-private class member
296
296
private func somePrivateMethod() {} // explicitly private class member
297
297
}
298
- ---
298
+
299
299
-> private class SomePrivateClass { // explicitly private class
300
300
func somePrivateMethod() {} // implicitly private class member
301
301
}
@@ -557,7 +557,7 @@ you must explicitly declare the nested type as public.
557
557
-> let publicNestedInsidePublic = PublicStruct.PublicEnumInsidePublicStruct.a
558
558
-> let internalNestedInsidePublic = PublicStruct.InternalEnumInsidePublicStruct.a
559
559
-> let automaticNestedInsidePublic = PublicStruct.AutomaticEnumInsidePublicStruct.a
560
- ---
560
+
561
561
-> let internalNestedInsideInternal = InternalStruct.InternalEnumInsideInternalStruct.a
562
562
-> let automaticNestedInsideInternal = InternalStruct.AutomaticEnumInsideInternalStruct.a
563
563
```
@@ -569,12 +569,12 @@ you must explicitly declare the nested type as public.
569
569
```swifttest
570
570
// these are all expected to fail, because they're private to the other file
571
571
-> let privateNestedInsidePublic = PublicStruct.PrivateEnumInsidePublicStruct.a
572
- ---
572
+
573
573
-> let privateNestedInsideInternal = InternalStruct.PrivateEnumInsideInternalStruct.a
574
- ---
574
+
575
575
-> let privateNestedInsidePrivate = PrivateStruct.PrivateEnumInsidePrivateStruct.a
576
576
-> let automaticNestedInsidePrivate = PrivateStruct.AutomaticEnumInsidePrivateStruct.a
577
- ---
577
+
578
578
!$ error: 'PrivateEnumInsidePublicStruct' is inaccessible due to 'private' protection level
579
579
!! let privateNestedInsidePublic = PublicStruct.PrivateEnumInsidePublicStruct.a
580
580
!! ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -615,14 +615,14 @@ you must explicitly declare the nested type as public.
615
615
-> let internalNestedInsidePublic = PublicStruct.InternalEnumInsidePublicStruct.a
616
616
-> let automaticNestedInsidePublic = PublicStruct.AutomaticEnumInsidePublicStruct.a
617
617
-> let privateNestedInsidePublic = PublicStruct.PrivateEnumInsidePublicStruct.a
618
- ---
618
+
619
619
-> let internalNestedInsideInternal = InternalStruct.InternalEnumInsideInternalStruct.a
620
620
-> let automaticNestedInsideInternal = InternalStruct.AutomaticEnumInsideInternalStruct.a
621
621
-> let privateNestedInsideInternal = InternalStruct.PrivateEnumInsideInternalStruct.a
622
- ---
622
+
623
623
-> let privateNestedInsidePrivate = PrivateStruct.PrivateEnumInsidePrivateStruct.a
624
624
-> let automaticNestedInsidePrivate = PrivateStruct.AutomaticEnumInsidePrivateStruct.a
625
- ---
625
+
626
626
!$ error: 'InternalEnumInsidePublicStruct' is inaccessible due to 'internal' protection level
627
627
!! let internalNestedInsidePublic = PublicStruct.InternalEnumInsidePublicStruct.a
628
628
!! ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -701,7 +701,7 @@ internal class B: A {
701
701
-> public class A {
702
702
fileprivate func someMethod() {}
703
703
}
704
- ---
704
+
705
705
-> internal class B: A {
706
706
override internal func someMethod() {}
707
707
}
@@ -734,7 +734,7 @@ internal class B: A {
734
734
-> public class A {
735
735
fileprivate func someMethod() {}
736
736
}
737
- ---
737
+
738
738
-> internal class B: A {
739
739
override internal func someMethod() {
740
740
super.someMethod()
@@ -1162,7 +1162,7 @@ on any type that adopts the protocol.
1162
1162
var publicProperty = 0
1163
1163
func publicMethod() {}
1164
1164
}
1165
- ---
1165
+
1166
1166
-> public class PublicClassConformingToInternalProtocol: InternalProtocol {
1167
1167
var internalProperty = 0
1168
1168
func internalMethod() {}
@@ -1190,7 +1190,7 @@ on any type that adopts the protocol.
1190
1190
!$ error: cannot find type 'FilePrivateProtocol' in scope
1191
1191
!! public class PublicClassConformingToFilePrivateProtocol: FilePrivateProtocol {
1192
1192
!! ^~~~~~~~~~~~~~~~~~~
1193
- ---
1193
+
1194
1194
// these will fail, because PrivateProtocol isn't visible outside of its file
1195
1195
-> public class PublicClassConformingToPrivateProtocol: PrivateProtocol {
1196
1196
var privateProperty = 0
@@ -1440,7 +1440,7 @@ extension SomeStruct: SomeProtocol {
1440
1440
-> struct SomeStruct {
1441
1441
private var privateVariable = 12
1442
1442
}
1443
- ---
1443
+
1444
1444
-> extension SomeStruct: SomeProtocol {
1445
1445
func doSomething() {
1446
1446
print(privateVariable)
@@ -1474,19 +1474,19 @@ but a public type alias can't alias an internal, file-private, or private type.
1474
1474
-> public struct PublicStruct {}
1475
1475
-> internal struct InternalStruct {}
1476
1476
-> private struct PrivateStruct {}
1477
- ---
1477
+
1478
1478
-> public typealias PublicAliasOfPublicType = PublicStruct
1479
1479
-> internal typealias InternalAliasOfPublicType = PublicStruct
1480
1480
-> private typealias PrivateAliasOfPublicType = PublicStruct
1481
- ---
1481
+
1482
1482
-> public typealias PublicAliasOfInternalType = InternalStruct // not allowed
1483
1483
-> internal typealias InternalAliasOfInternalType = InternalStruct
1484
1484
-> private typealias PrivateAliasOfInternalType = InternalStruct
1485
- ---
1485
+
1486
1486
-> public typealias PublicAliasOfPrivateType = PrivateStruct // not allowed
1487
1487
-> internal typealias InternalAliasOfPrivateType = PrivateStruct // not allowed
1488
1488
-> private typealias PrivateAliasOfPrivateType = PrivateStruct
1489
- ---
1489
+
1490
1490
!$ error: type alias cannot be declared public because its underlying type uses an internal type
1491
1491
!! public typealias PublicAliasOfInternalType = InternalStruct // not allowed
1492
1492
!! ^ ~~~~~~~~~~~~~~
0 commit comments