You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears that ChainRules v1.58.1 and TemporalGPs v0.6.5 both define adjoints for static arrays.
Loading static arrays, chain rules, and temporalGPs in one session results in:
``julia
WARNING: Method definition rrule(Type{T}, Tuple) where {T<:(StaticArraysCore.SArray{S, T, N, L} where L where N where T where S<:Tuple)} in module StaticArraysChainRulesCoreExt at /Users/thompsonw/.julia/packages/StaticArrays/Uc4hE/ext/StaticArraysChainRulesCoreExt.jl:26 overwritten in module TemporalGPs at /Users/thompsonw/.julia/packages/TemporalGPs/zMIeA/src/util/chainrules.jl:31.
ERROR: Method overwriting is not permitted during Module precompilation. Use __precompile__(false) to opt-out of precompilation.
The two conflicting definitions appear to be:
```julia
function rrule(::Type{T}, x::Tuple) where {T <: SArray}
project_x = ProjectTo(x)
∇Array(∂y) = (NoTangent(), project_x(∂y))
return T(x), ∇Array
end
in ChainRules
and
functionrrule(::Type{T}, x::Tuple) where {T<:SArray}
SArray_rrule(Δ) =begin
(NoTangent(), Tangent{typeof(x)}(unthunk(Δ).data...))
endreturnT(x), SArray_rrule
end
in TemporalGPs.
The text was updated successfully, but these errors were encountered:
Ahh okay. My type-piracy has now come back to bite me.
Could you try dev-ing TemporalGPs, removing the rrule that was written in TemporalGPs and seeing whether the tests pass? If we're lucky, it'll just work.
It appears that ChainRules v1.58.1 and TemporalGPs v0.6.5 both define adjoints for static arrays.
Loading static arrays, chain rules, and temporalGPs in one session results in:
``julia
WARNING: Method definition rrule(Type{T}, Tuple) where {T<:(StaticArraysCore.SArray{S, T, N, L} where L where N where T where S<:Tuple)} in module StaticArraysChainRulesCoreExt at /Users/thompsonw/.julia/packages/StaticArrays/Uc4hE/ext/StaticArraysChainRulesCoreExt.jl:26 overwritten in module TemporalGPs at /Users/thompsonw/.julia/packages/TemporalGPs/zMIeA/src/util/chainrules.jl:31.
ERROR: Method overwriting is not permitted during Module precompilation. Use
__precompile__(false)
to opt-out of precompilation.in ChainRules
and
in TemporalGPs.
The text was updated successfully, but these errors were encountered: