blob: 3f08f4351c794d727476bfe12ee0f1d66d33bbca [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module %s -o %t/differentiable_attr_serialization.swiftmodule
// RUN: %target-swift-frontend -merge-modules -emit-module %t/differentiable_attr_serialization.swiftmodule
// Test round-trip `@differentiable` attribute AST serialization.
// Motivation: check that `@differentiable` attributes always have original
// declaration set.
struct Foo: Differentiable {
@differentiable
func method() -> Self { self }
@differentiable
init(_ x: Float) {}
@differentiable
var computedProperty: Float { 1 }
var computedPropertyGetter: Float {
@differentiable
get { 1 }
}
@differentiable
subscript() -> Float { 1 }
subscript(_ x: Float) -> Float {
@differentiable
get { 1 }
}
}