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
packagefunc package_usablefrominline_original_public_derivative(_ x:Float)->Float{ x }
1084
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_package__usablefrominline_original_public_derivative' is public, but original function 'package_usablefrominline_original_public_derivative' is package}}
packagefunc package_original_public_derivative(_ x:Float)->Float{ x }
1092
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_package_original_public_derivative' is public, but original function 'package_original_public_derivative' is package}}
func internal_original_public_derivative(_ x:Float)->Float{ x }
1055
1100
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_internal_original_public_derivative' is public, but original function 'internal_original_public_derivative' is internal}}
@@ -1059,6 +1104,14 @@ public func _internal_original_public_derivative(_ x: Float) -> (value: Float, p
1059
1104
fatalError()
1060
1105
}
1061
1106
1107
+
func internal_original_package_derivative(_ x:Float)->Float{ x }
1108
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_internal_original_package_derivative' is package, but original function 'internal_original_package_derivative' is internal}}
privatefunc private_original_usablefrominline_derivative(_ x:Float)->Float{ x }
1063
1116
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_private_original_usablefrominline_derivative' is internal, but original function 'private_original_usablefrominline_derivative' is private}}
@@ -1076,6 +1129,14 @@ public func _private_original_public_derivative(_ x: Float) -> (value: Float, pu
1076
1129
fatalError()
1077
1130
}
1078
1131
1132
+
privatefunc private_original_package_derivative(_ x:Float)->Float{ x }
1133
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_private_original_package_derivative' is package, but original function 'private_original_package_derivative' is private}}
privatefunc private_original_internal_derivative(_ x:Float)->Float{ x }
1080
1141
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_private_original_internal_derivative' is internal, but original function 'private_original_internal_derivative' is private}}
publicfunc public_original_package_derivative(_ x:Float)->Float{ x }
1175
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_public_original_package_derivative' is package, but original function 'public_original_package_derivative' is public}}
// expected-note @-1 {{mark the derivative function as '@usableFromInline' to match the original function}} {{-1:1-1=@usableFromInline }}
1179
+
fatalError()
1180
+
}
1181
+
1113
1182
publicfunc public_original_internal_derivative(_ x:Float)->Float{ x }
1114
1183
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_public_original_internal_derivative' is internal, but original function 'public_original_internal_derivative' is public}}
packagefunc package_original_internal_derivative(_ x:Float)->Float{ x }
1191
+
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_package_original_internal_derivative' is internal, but original function 'package_original_internal_derivative' is package}}
func internal_original_fileprivate_derivative(_ x:Float)->Float{ x }
1122
1199
// expected-error @+1 {{derivative function must have same access level as original function; derivative function '_internal_original_fileprivate_derivative' is fileprivate, but original function 'internal_original_fileprivate_derivative' is internal}}
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal declarations, but 'fileprivateVersioned()' is fileprivate}}
8
+
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal or package declarations, but 'fileprivateVersioned()' is fileprivate}}
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal declarations, but 'fileprivateVersioned()' is fileprivate}}
8
+
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal or package declarations, but 'fileprivateVersioned()' is fileprivate}}
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal declarations, but 'publicVersioned()' is public}}
17
+
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal or package declarations, but 'publicVersioned()' is public}}
18
18
19
19
internalclassInternalClass{
20
20
// expected-note@-1 2{{type declared here}}
21
21
@usableFromInlinepublicfunc publicVersioned(){}
22
-
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal declarations, but 'publicVersioned()' is public}}
22
+
// expected-error@-1 {{'@usableFromInline' attribute can only be applied to internal or package declarations, but 'publicVersioned()' is public}}
23
23
}
24
24
25
25
fileprivateclassfilePrivateClass{
@@ -119,7 +119,7 @@ where T : InternalProtocol,
119
119
120
120
@usableFromInline
121
121
protocolBadProtocol:InternalProtocol{
122
-
// expected-warning@-1 {{protocol refined by '@usableFromInline' protocol should be '@usableForInline' or public}}
122
+
// expected-warning@-1 {{protocol refined by '@usableFromInline' protocol should be '@usableFromInline' or public}}
123
123
associatedtypeX:InternalProtocol
124
124
// expected-warning@-1 {{type referenced from a requirement of an associated type in a '@usableFromInline' protocol should be '@usableFromInline' or public}}
@_spi(S)func internalFunc(){} // expected-error {{internal global function cannot be declared '@_spi' because only public and open declarations can be '@_spi'}}
125
+
126
+
@_spi(S)packagefunc packageFunc(){} // expected-error {{package global function cannot be declared '@_spi' because only public and open declarations can be '@_spi'}}
0 commit comments