@@ -6,33 +6,35 @@ import _Differentiation
66
77var FunctionTypeMetadataTests = TestSuite ( " FunctionTypeMetadata " )
88
9- FunctionTypeMetadataTests . test ( " Reflect differentiable function type " ) {
10- expectEqual (
11- " @differentiable(reverse) (Swift.Float) -> Swift.Float " ,
12- String ( reflecting: ( @differentiable( reverse) ( Float) - > Float) . self) )
13- expectEqual (
14- " @differentiable(reverse) (inout Swift.Float) -> () " ,
15- String ( reflecting: ( @differentiable( reverse) ( inout Float) - > Void) . self) )
16- expectEqual (
17- """
18- @differentiable(reverse) (Swift.Array<Swift.Float>) -> \
19- Swift.Array<Swift.Float>
20- """ ,
21- String ( reflecting: ( @differentiable( reverse) ( [ Float] ) - > [ Float] ) . self) )
22- expectEqual (
23- """
24- @differentiable(reverse) (Swift.Optional<Swift.Float>) -> \
25- Swift.Optional<Swift.Float>
26- """ ,
27- String ( reflecting: ( @differentiable( reverse) ( Float? ) - > Float? ) . self) )
28- // FIXME(rdar://75916833): Mangle '@noDerivative' in function types.
29- // expectEqual(
30- // """
31- // @differentiable(reverse) (Swift.Optional<Swift.Float>, \
32- // @noDerivative Swift.Int) -> Swift.Optional<Swift.Float>
33- // """,
34- // String(reflecting: (
35- // @differentiable(reverse) (Float?, @noDerivative Int) -> Float?).self))
9+ if #available( macOS 9999 , iOS 9999 , watchOS 9999 , tvOS 9999 , * ) {
10+ FunctionTypeMetadataTests . test ( " Reflect differentiable function type " ) {
11+ expectEqual (
12+ " @differentiable(reverse) (Swift.Float) -> Swift.Float " ,
13+ String ( reflecting: ( @differentiable( reverse) ( Float) - > Float) . self) )
14+ expectEqual (
15+ " @differentiable(reverse) (inout Swift.Float) -> () " ,
16+ String ( reflecting: ( @differentiable( reverse) ( inout Float) - > Void) . self) )
17+ expectEqual (
18+ """
19+ @differentiable(reverse) (Swift.Array<Swift.Float>) -> \
20+ Swift.Array<Swift.Float>
21+ """ ,
22+ String ( reflecting: ( @differentiable( reverse) ( [ Float] ) - > [ Float] ) . self) )
23+ expectEqual (
24+ """
25+ @differentiable(reverse) (Swift.Optional<Swift.Float>) -> \
26+ Swift.Optional<Swift.Float>
27+ """ ,
28+ String ( reflecting: ( @differentiable( reverse) ( Float? ) - > Float? ) . self) )
29+ // FIXME(rdar://75916833): Mangle '@noDerivative' in function types.
30+ // expectEqual(
31+ // """
32+ // @differentiable(reverse) (Swift.Optional<Swift.Float>, \
33+ // @noDerivative Swift.Int) -> Swift.Optional<Swift.Float>
34+ // """,
35+ // String(reflecting: (
36+ // @differentiable(reverse) (Float?, @noDerivative Int) -> Float?).self))
37+ }
3638}
3739
3840// FIXME(rdar://75916878): Investigate why reflecting differentiable function
0 commit comments