diff --git a/src/extra_rules.jl b/src/extra_rules.jl index b6ae2c23..7acfeb85 100644 --- a/src/extra_rules.jl +++ b/src/extra_rules.jl @@ -178,6 +178,7 @@ function ChainRules.frule((_, ∂x), ::Type{SArray{S, T, N, L}}, x::NTuple{L,T}) end Base.view(t::Tangent{T}, inds) where T<:SVector = view(T(ChainRulesCore.backing(t.data)), inds) +Base.getindex(t::Tangent{<:SVector, <:NamedTuple}, ind::Int) = ChainRulesCore.backing(t.data)[ind] function ChainRules.frule((_, ∂x), ::Type{SArray{S, T, N, L}}, x::NTuple{L,Any}) where {S, T, N, L} SArray{S, T, N, L}(x), SArray{S}(∂x)