blob: 02b04fde3df58105979c7e433ec3fa85acafcdf4 [file] [log] [blame]
// RUN: %target-swift-frontend -emit-sil -verify %s
// SR-12744: Pullback generation crash for unhandled indirect result.
// May be due to inconsistent derivative function type calculation logic in
// `VJPEmitter::createEmptyPullback`.
import _Differentiation
class Class: Differentiable {
@differentiable(wrt: (self, x))
@differentiable(wrt: x)
func f(_ x: Float) -> Float { x }
}
func test<C: Class>(_ c: C, _ x: Float) {
_ = gradient(at: c, x) { c, x in c.f(x) }
_ = gradient(at: x) { x in c.f(x) }
}