4
4
5
5
// RUN: %target-swift-frontend -emit-module %s \
6
6
// RUN: -enable-library-evolution -swift-version 5 \
7
- // RUN: -Xllvm -debug-only=Serialization 2>&1 \
7
+ // RUN: -Xllvm -debug-only=Serialization 2>&1 | %swift-demangle --simplified \
8
8
// RUN: | %FileCheck --check-prefixes=SAFETY-PRIVATE,SAFETY-INTERNAL %s
9
9
10
10
// RUN: %target-swift-frontend -emit-module %s \
@@ -53,6 +53,9 @@ public struct PublicStruct {
53
53
// NO-SAFETY-INTERNAL: Serialization safety, safe: 'internalTypealias'
54
54
// SAFETY-PRIVATE: Serialization safety, safe: 'localTypealias'
55
55
56
+ // SAFETY-PRIVATE: Serialization safety, safe: 'opaque PublicStruct.opaqueTypeFunc()'
57
+ // SAFETY-PRIVATE: Serialization safety, unsafe: 'opaque PublicStruct.opaqueFuncInternal()'
58
+
56
59
public init ( publicInit a: Int ) { }
57
60
// SAFETY-PRIVATE: Serialization safety, safe: 'init(publicInit:)'
58
61
internal init ( internalInit a: Int ) { }
@@ -69,11 +72,19 @@ public struct PublicStruct {
69
72
// SAFETY-PRIVATE: Serialization safety, safe: 'inlinableFunc()'
70
73
public func publicFunc( ) { }
71
74
// SAFETY-PRIVATE: Serialization safety, safe: 'publicFunc()'
72
- @available ( SwiftStdlib 5 . 1 , * ) // for the `some` keyword.
75
+
76
+ @available ( SwiftStdlib 5 . 1 , * ) // for the `some` keyword.
73
77
public func opaqueTypeFunc( ) -> some PublicProto {
78
+ // SAFETY-PRIVATE: Serialization safety, safe: 'opaqueTypeFunc()'
74
79
return InternalStruct ( )
75
80
}
76
- // SAFETY-PRIVATE: Serialization safety, safe: 'opaqueTypeFunc()'
81
+
82
+ @available ( SwiftStdlib 5 . 1 , * ) // for the `some` keyword.
83
+ internal func opaqueFuncInternal( ) -> some PublicProto {
84
+ // SAFETY-PRIVATE: Serialization safety, unsafe: 'opaqueFuncInternal()'
85
+ return InternalStruct ( )
86
+ }
87
+
77
88
internal func internalFunc( ) { }
78
89
// SAFETY-INTERNAL: Serialization safety, unsafe: 'internalFunc()'
79
90
// NO-SAFETY-INTERNAL: Serialization safety, safe: 'internalFunc()'
0 commit comments