ChainRulesTestUtils.jl
ChainRulesTestUtils.jl copied to clipboard
Errors from `ReshapedArray`?
With https://github.com/JuliaDiff/ChainRules.jl/pull/565 I get these errors:
julia> test_frule(reshape, rand(4,4), 2, :)
Test Summary: | Pass Total Time
test_frule: reshape on Matrix{Float64},Int64,Colon | 4 4 0.4s
Test.DefaultTestSet("test_frule: reshape on Matrix{Float64},Int64,Colon", Any[], 4, false, false, true, 1.643144279593864e9, 1.643144280005545e9)
julia> test_frule(reshape, Diagonal(rand(4)), 2, :)
test_frule: reshape on Diagonal{Float64, Vector{Float64}},Int64,Colon: Error During Test at /Users/me/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:118
Got exception outside of a @test
TypeError: in new, expected Int64, got a value of type Float64
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:0 [inlined]
[2] _force_construct
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:27 [inlined]
[3] (::FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}})(v::Vector{Float64})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:53
[4] (::FiniteDifferences.var"#47#49"{Vector{Float64}})(x_back::FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}, l::Int64, s::Int64)
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:213
[5] map(f::Function, t1::Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}, t2::Tuple{Int64}, ts::Tuple{Int64})
@ Base ./tuple.jl:266
[6] Tuple_from_vec
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:212 [inlined]
[7] #26
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:49 [inlined]
[8] map
@ ./tuple.jl:247 [inlined]
[9] map(f::FiniteDifferences.var"#26#30", t::Tuple{FiniteDifferences.var"#Diagonal_from_vec#38"{FiniteDifferences.var"#Array_from_vec#34"{Matrix{Float64}, typeof(identity)}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64}, Tuple{Int64, Int64}, Tuple{FiniteDifferences.var"#Real_from_vec#20", FiniteDifferences.var"#Real_from_vec#20"}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64}, Tuple{Int64}, Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}}}, s::Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}})
@ Base ./tuple.jl:250
[10] (::FiniteDifferences.var"#structtype_from_vec#29"{Base.ReshapedArray{Float64, 2, Diagonal{Float64, Vector{Float64}}, Tuple{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64, Int64}, Tuple{Int64, Int64, Int64}, Tuple{typeof(identity), typeof(identity), typeof(identity)}}, Tuple{FiniteDifferences.var"#Diagonal_from_vec#38"{FiniteDifferences.var"#Array_from_vec#34"{Matrix{Float64}, typeof(identity)}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64}, Tuple{Int64, Int64}, Tuple{FiniteDifferences.var"#Real_from_vec#20", FiniteDifferences.var"#Real_from_vec#20"}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64}, Tuple{Int64}, Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}}}})(v::Vector{Float64})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:49
[11] jvp(fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, f::ChainRulesTestUtils.var"#fnew#42"{ChainRulesTestUtils.var"#call_on_copy#46"{NamedTuple{(), Tuple{}}}, Tuple{typeof(reshape), Diagonal{Float64, Vector{Float64}}, Int64, Colon}, NTuple{4, Bool}}, ::Tuple{Diagonal{Float64, Vector{Float64}}, Diagonal{Float64, Vector{Float64}}})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/grad.jl:58
[12] _make_jvp_call(fdm::Any, f::Any, y::Any, xs::Any, ẋs::Any, ignores::Any)
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/finite_difference_calls.jl:24
[13] macro expansion
@ ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:137 [inlined]
[14] macro expansion
@ ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1356 [inlined]
[15] test_frule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, fdm::Any, frule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:120
[16] test_frule(::RuleConfig, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:113
[17] test_frule(::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:96
[18] test_frule(::Any, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:95
[19] top-level scope
@ REPL[6]:1
[20] eval
@ ./boot.jl:368 [inlined]
[21] eval_user_input(ast::Any, backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
[22] repl_backend_loop(backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
[23] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
[24] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
[25] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:356
[26] (::Base.var"#950#952"{Bool, Bool, Bool})(REPL::Module)
@ Base ./client.jl:406
[27] #invokelatest#2
@ ./essentials.jl:731 [inlined]
[28] invokelatest
@ ./essentials.jl:729 [inlined]
[29] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
@ Base ./client.jl:391
[30] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:321
[31] _start()
@ Base ./client.jl:509
caused by: MethodError: no method matching Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}(::Float64, ::Float64, ::Float64, ::Float64)
Stacktrace:
[1] (::FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}})(v::Vector{Float64})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:51
[2] (::FiniteDifferences.var"#47#49"{Vector{Float64}})(x_back::FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}, l::Int64, s::Int64)
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:213
[3] map(f::Function, t1::Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}, t2::Tuple{Int64}, ts::Tuple{Int64})
@ Base ./tuple.jl:266
[4] Tuple_from_vec
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:212 [inlined]
[5] #26
@ ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:49 [inlined]
[6] map
@ ./tuple.jl:247 [inlined]
[7] map(f::FiniteDifferences.var"#26#30", t::Tuple{FiniteDifferences.var"#Diagonal_from_vec#38"{FiniteDifferences.var"#Array_from_vec#34"{Matrix{Float64}, typeof(identity)}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64}, Tuple{Int64, Int64}, Tuple{FiniteDifferences.var"#Real_from_vec#20", FiniteDifferences.var"#Real_from_vec#20"}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64}, Tuple{Int64}, Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}}}, s::Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}})
@ Base ./tuple.jl:250
[8] (::FiniteDifferences.var"#structtype_from_vec#29"{Base.ReshapedArray{Float64, 2, Diagonal{Float64, Vector{Float64}}, Tuple{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64, Int64}, Tuple{Int64, Int64, Int64}, Tuple{typeof(identity), typeof(identity), typeof(identity)}}, Tuple{FiniteDifferences.var"#Diagonal_from_vec#38"{FiniteDifferences.var"#Array_from_vec#34"{Matrix{Float64}, typeof(identity)}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64, Int64}, Tuple{Int64, Int64}, Tuple{FiniteDifferences.var"#Real_from_vec#20", FiniteDifferences.var"#Real_from_vec#20"}}, FiniteDifferences.var"#Tuple_from_vec#48"{Tuple{Int64}, Tuple{Int64}, Tuple{FiniteDifferences.var"#structtype_from_vec#29"{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, FiniteDifferences.var"#Tuple_from_vec#48"{NTuple{4, Int64}, NTuple{4, Int64}, NTuple{4, typeof(identity)}}, NTuple{4, FiniteDifferences.var"#Real_from_vec#20"}}}}}})(v::Vector{Float64})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/to_vec.jl:49
[9] jvp(fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, f::ChainRulesTestUtils.var"#fnew#42"{ChainRulesTestUtils.var"#call_on_copy#46"{NamedTuple{(), Tuple{}}}, Tuple{typeof(reshape), Diagonal{Float64, Vector{Float64}}, Int64, Colon}, NTuple{4, Bool}}, ::Tuple{Diagonal{Float64, Vector{Float64}}, Diagonal{Float64, Vector{Float64}}})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/grad.jl:58
[10] _make_jvp_call(fdm::Any, f::Any, y::Any, xs::Any, ẋs::Any, ignores::Any)
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/finite_difference_calls.jl:24
[11] macro expansion
@ ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:137 [inlined]
[12] macro expansion
@ ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1356 [inlined]
[13] test_frule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, fdm::Any, frule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:120
[14] test_frule(::RuleConfig, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:113
[15] test_frule(::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:96
[16] test_frule(::Any, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:95
[17] top-level scope
@ REPL[6]:1
[18] eval
@ ./boot.jl:368 [inlined]
[19] eval_user_input(ast::Any, backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
[20] repl_backend_loop(backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
[21] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
[22] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
[23] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:356
[24] (::Base.var"#950#952"{Bool, Bool, Bool})(REPL::Module)
@ Base ./client.jl:406
[25] #invokelatest#2
@ ./essentials.jl:731 [inlined]
[26] invokelatest
@ ./essentials.jl:729 [inlined]
[27] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
@ Base ./client.jl:391
[28] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:321
[29] _start()
@ Base ./client.jl:509
Test Summary: | Pass Error Total Time
test_frule: reshape on Diagonal{Float64, Vector{Float64}},Int64,Colon | 2 1 3 0.0s
ERROR: Some tests did not pass: 2 passed, 0 failed, 1 errored, 0 broken.
Slightly different error for rrule:
julia> test_rrule(reshape, Diagonal(rand(4)), 2, :)
test_rrule: reshape on Diagonal{Float64, Vector{Float64}},Int64,Colon: Error During Test at /Users/me/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:195
Got exception outside of a @test
DimensionMismatch("second dimension of A, 22, does not match length of x, 16")
Stacktrace:
[1] gemv!(y::Vector{Float64}, tA::Char, A::Matrix{Float64}, x::Vector{Float64}, α::Bool, β::Bool)
@ LinearAlgebra ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl:508
[2] mul!
@ ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl:87 [inlined]
[3] mul!
@ ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl:286 [inlined]
[4] *(tA::Transpose{Float64, Matrix{Float64}}, x::Vector{Float64})
@ LinearAlgebra ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl:80
[5] _j′vp(fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, f::Function, ȳ::Vector{Float64}, x::Vector{Float64})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/grad.jl:80
[6] j′vp(fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, f::Function, ȳ::Matrix{Float64}, x::Diagonal{Float64, Vector{Float64}})
@ FiniteDifferences ~/.julia/packages/FiniteDifferences/iFBBx/src/grad.jl:73
[7] _make_j′vp_call(fdm::Any, f::Any, ȳ::Any, xs::Any, ignores::Any)
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/finite_difference_calls.jl:51
[8] macro expansion
@ ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:226 [inlined]
[9] macro expansion
@ ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/Test/src/Test.jl:1356 [inlined]
[10] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:198
[11] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:190
[12] test_rrule(::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:172
[13] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any})
@ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/8dFTY/src/testers.jl:171
[14] top-level scope
@ REPL[7]:1
[15] eval
@ ./boot.jl:368 [inlined]
[16] eval_user_input(ast::Any, backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
[17] repl_backend_loop(backend::REPL.REPLBackend)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
[18] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
[19] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
[20] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL ~/.julia/dev/julia/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:356
[21] (::Base.var"#950#952"{Bool, Bool, Bool})(REPL::Module)
@ Base ./client.jl:406
[22] #invokelatest#2
@ ./essentials.jl:731 [inlined]
[23] invokelatest
@ ./essentials.jl:729 [inlined]
[24] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
@ Base ./client.jl:391
[25] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:321
[26] _start()
@ Base ./client.jl:509
Test Summary: | Pass Error Total Time
test_rrule: reshape on Diagonal{Float64, Vector{Float64}},Int64,Colon | 3 1 4 0.4s
ERROR: Some tests did not pass: 3 passed, 0 failed, 1 errored, 0 broken.