swift
e5cb8714 - [AutoDiff upstream] Add flag-gated `AdditiveArithmetic` derivation. (#30628)

Commit
5 years ago
[AutoDiff upstream] Add flag-gated `AdditiveArithmetic` derivation. (#30628) Add `AdditiveArithmetic` derived conformances for structs, gated by the `-enable-experimential-additive-arithmetic-derivation` flag. Structs whose stored properties all conform to `AdditiveArithmetic` can derive `AdditiveArithmetic`: - `static var zero: Self` - `static func +(lhs: Self, rhs: Self) -> Self` - `static func -(lhs: Self, rhs: Self) -> Self` - An "effective memberwise initializer": - Either a synthesized memberwise initializer or a user-defined initializer with the same type. Effective memberwise initializers are used only by derived conformances for `Self`-returning protocol requirements like `AdditiveArithmetic.+`, which require memberwise initialization. Resolves TF-844. Unblocks TF-845: upstream `Differentiable` derived conformances.
Author
Parents
Loading