diff --git a/src/tracker/scalar.jl b/src/tracker/scalar.jl index 1b6098fb..ad7b643d 100644 --- a/src/tracker/scalar.jl +++ b/src/tracker/scalar.jl @@ -23,6 +23,8 @@ end Base.decompose(x::TrackedReal) = Base.decompose(data(x)) +Base.convert(::Type{T}, x::TrackedReal{S}) where {T<:Real,S} = convert(T, data(x)) + Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{T}) where T = x Base.convert(::Type{TrackedReal{T}}, x::Real) where T = TrackedReal(convert(T, x)) diff --git a/test/tracker.jl b/test/tracker.jl index a4772f2e..7d7168ad 100644 --- a/test/tracker.jl +++ b/test/tracker.jl @@ -40,7 +40,7 @@ function promotiontest(f, A, B, C) if all(ndims.((A,B,C)) .≤ 2) && f ∈ [hcat, vcat] r3 = f(A, B, param(C)) else - @test_throws MethodError f(A, B, param(C)) # until julia#20815 is resolved + @test_broken f(A, B, param(C)) # until julia#20815 is resolved r3 = r2 end r4 = f(param(A), param(B), param(C))