diff --git a/Project.toml b/Project.toml index a3b2c3d26..bd8155f02 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ChainRulesCore" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.8.0" +version = "1.9.0" [deps] Compat = "34da2185-b29b-5c13-b0c7-acf172513d20" diff --git a/src/tangent_types/thunks.jl b/src/tangent_types/thunks.jl index e065bea62..41c9d6628 100644 --- a/src/tangent_types/thunks.jl +++ b/src/tangent_types/thunks.jl @@ -196,6 +196,7 @@ end Base.show(io::IO, x::Thunk) = print(io, "Thunk($(repr(x.f)))") Base.convert(::Type{<:Thunk}, a::AbstractZero) = @thunk(a) +Base.convert(::Type{T}, t::AbstractThunk) where {T} = convert(T, unthunk(t)) """ InplaceableThunk(add!::Function, val::Thunk) diff --git a/test/tangent_types/thunks.jl b/test/tangent_types/thunks.jl index af4a747d1..597d6022c 100644 --- a/test/tangent_types/thunks.jl +++ b/test/tangent_types/thunks.jl @@ -24,6 +24,7 @@ @testset "convert" begin @test convert(Thunk, ZeroTangent()) isa Thunk + @test convert(Float64, @thunk(2.2)) isa Float64 end @testset "unthunk" begin