// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module %s -o %t/autodiff_generated_decl_member_loading_cross_module.swiftmodule
// RUN: %target-swift-frontend -merge-modules -emit-module %t/autodiff_generated_decl_member_loading_cross_module.swiftmodule

// Tests TF-805.
//
// Previously, `IterableDeclContext::loadAllMembers` was disabled for
// AD-generated structs/enums:
// https://github.com/apple/swift/commit/7e89bee39bfda4624f04dcc2c8d53599fbde6191
//
// This caused a SIL verification failure for because enum members were not loaded
// when running `-emit-module` then `-merge-modules -sil-merge-partial-modules`:
//
//     SIL verification failed: switch_enum dispatches on same enum element
//     more than once: unswitchedElts.count(elt)

public struct Tensor<Scalar> {}

extension Tensor: Differentiable where Scalar: Differentiable{
  public typealias TangentVector = Float
  public mutating func move(along direction: Float) {}
}

extension Tensor {
  @inlinable
  @differentiable(wrt: self where Scalar: Differentiable)
  func TF_805(axis: Int) -> Tensor {
    if axis != axis {}
    return self
  }
}
