@@ -12,7 +12,7 @@ protocol Protocol: Differentiable {
12
12
@differentiable ( reverse)
13
13
var property : Float { get set }
14
14
15
- @differentiable ( reverse, wrt: x )
15
+ @differentiable ( reverse, wrt: ( self , x ) )
16
16
subscript( _ x: Float , _ y: Float ) -> Float { get set }
17
17
}
18
18
@@ -82,22 +82,22 @@ struct Struct: Protocol {
82
82
// CHECK: apply [[VJP_FN]]
83
83
// CHECK: }
84
84
85
- @differentiable ( reverse, wrt: x )
85
+ @differentiable ( reverse, wrt: ( self , x ) )
86
86
subscript( _ x: Float , _ y: Float ) -> Float {
87
87
get { x }
88
88
set { }
89
89
}
90
90
91
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_jvp_SUU : $@convention(witness_method: Protocol) (Float, Float, @in_guaranteed Struct) -> (Float, @owned @callee_guaranteed (Float) -> Float) {
91
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_jvp_SUS : $@convention(witness_method: Protocol) (Float, Float, @in_guaranteed Struct) -> (Float, @owned @callee_guaranteed @substituted <τ_0_0> (Float, @in_guaranteed τ_0_0 ) -> Float for <DummyTangentVector>)
92
92
// CHECK: [[ORIG_FN:%.*]] = function_ref @$s13witness_table6StructVyS2f_Sftcig : $@convention(method) (Float, Float, Struct) -> Float
93
- // CHECK: [[DIFF_FN:%.*]] = differentiable_function [parameters 0] [results 0] [[ORIG_FN]]
93
+ // CHECK: [[DIFF_FN:%.*]] = differentiable_function [parameters 0 2 ] [results 0] [[ORIG_FN]]
94
94
// CHECK: [[JVP_FN:%.*]] = differentiable_function_extract [jvp] [[DIFF_FN]]
95
95
// CHECK: apply [[JVP_FN]]
96
96
// CHECK: }
97
97
98
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_vjp_SUU : $@convention(witness_method: Protocol) (Float, Float, @in_guaranteed Struct) -> (Float, @owned @callee_guaranteed (Float) -> Float) {
98
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_vjp_SUS : $@convention(witness_method: Protocol) (Float, Float, @in_guaranteed Struct) -> (Float, @owned @callee_guaranteed @substituted <τ_0_0> (Float) -> ( Float, @out τ_0_0) for <DummyTangentVector>)
99
99
// CHECK: [[ORIG_FN:%.*]] = function_ref @$s13witness_table6StructVyS2f_Sftcig : $@convention(method) (Float, Float, Struct) -> Float
100
- // CHECK: [[DIFF_FN:%.*]] = differentiable_function [parameters 0] [results 0] [[ORIG_FN]]
100
+ // CHECK: [[DIFF_FN:%.*]] = differentiable_function [parameters 0 2 ] [results 0] [[ORIG_FN]]
101
101
// CHECK: [[VJP_FN:%.*]] = differentiable_function_extract [vjp] [[DIFF_FN]]
102
102
// CHECK: apply [[VJP_FN]]
103
103
// CHECK: }
@@ -118,10 +118,10 @@ struct Struct: Protocol {
118
118
// CHECK-NEXT: method #Protocol.property!setter.vjp.SS.<Self where Self : Protocol>: <Self where Self : Protocol> (inout Self) -> (Float) -> () : @AD__$s13witness_table6StructVAA8ProtocolA2aDP8propertySfvsTW_vjp_SS
119
119
// CHECK-NEXT: method #Protocol.property!modify: <Self where Self : Protocol> (inout Self) -> () -> () : @$s13witness_table6StructVAA8ProtocolA2aDP8propertySfvMTW
120
120
// CHECK-NEXT: method #Protocol.subscript!getter: <Self where Self : Protocol> (Self) -> (Float, Float) -> Float : @$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW
121
- // CHECK-NEXT: method #Protocol.subscript!getter.jvp.SUU .<Self where Self : Protocol>: <Self where Self : Protocol> (Self) -> (Float, Float) -> Float : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_jvp_SU
122
- // CHECK-NEXT: method #Protocol.subscript!getter.vjp.SUU .<Self where Self : Protocol>: <Self where Self : Protocol> (Self) -> (Float, Float) -> Float : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_vjp_SUU
121
+ // CHECK-NEXT: method #Protocol.subscript!getter.jvp.SUS .<Self where Self : Protocol>: <Self where Self : Protocol> (Self) -> (Float, Float) -> Float : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_jvp_SUS
122
+ // CHECK-NEXT: method #Protocol.subscript!getter.vjp.SUS .<Self where Self : Protocol>: <Self where Self : Protocol> (Self) -> (Float, Float) -> Float : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcigTW_vjp_SUS
123
123
// CHECK-NEXT: method #Protocol.subscript!setter: <Self where Self : Protocol> (inout Self) -> (Float, Float, Float) -> () : @$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcisTW
124
- // CHECK-NEXT: method #Protocol.subscript!setter.jvp.USUU .<Self where Self : Protocol>: <Self where Self : Protocol> (inout Self) -> (Float, Float, Float) -> () : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcisTW_jvp_USUU
125
- // CHECK-NEXT: method #Protocol.subscript!setter.vjp.USUU .<Self where Self : Protocol>: <Self where Self : Protocol> (inout Self) -> (Float, Float, Float) -> () : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcisTW_vjp_USUU
124
+ // CHECK-NEXT: method #Protocol.subscript!setter.jvp.USUS .<Self where Self : Protocol>: <Self where Self : Protocol> (inout Self) -> (Float, Float, Float) -> () : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcisTW_jvp_USUS
125
+ // CHECK-NEXT: method #Protocol.subscript!setter.vjp.USUS .<Self where Self : Protocol>: <Self where Self : Protocol> (inout Self) -> (Float, Float, Float) -> () : @AD__$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftcisTW_vjp_USUS
126
126
// CHECK-NEXT: method #Protocol.subscript!modify: <Self where Self : Protocol> (inout Self) -> (Float, Float) -> () : @$s13witness_table6StructVAA8ProtocolA2aDPyS2f_SftciMTW
127
127
// CHECK: }
0 commit comments