// RUN: %target-swift-frontend -emit-sil -verify %s // https://github.com/swiftlang/swift/issues/74841 // We used to create invalid adjoint buffer for Optional // if this buffer originated from unchecked_take_enum_data_addr // instruction import _Differentiation; struct F {subscript(_ i: Int) -> S? {get {nil} set {}}} struct S {subscript(_ i: Int) -> I? {get {nil} set {}}} extension F: Differentiable {} extension S: Differentiable {} struct A{@differentiable(reverse) func b(c: inout F, d: S) {c[0]![0] = 0}}