Skip to content

Commit 48cdb31

Browse files
authored
Add frule and rrule for jl_has_free_typevars (#872)
* Add frule and rrule for `jl_has_free_typevars` * use `@zero_derivative` * version bump
1 parent 903fb1a commit 48cdb31

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Mooncake"
22
uuid = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
33
authors = ["Will Tebbutt, Hong Ge, and contributors"]
4-
version = "0.4.181"
4+
version = "0.4.182"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"

src/rrules/foreigncall.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ function rrule!!(
254254
return zero_fcodual(y), NoPullback(ntuple(_ -> NoRData(), 8))
255255
end
256256

257+
@zero_derivative MinimalCtx Tuple{typeof(Base.has_free_typevars),Any}
258+
257259
@is_primitive MinimalCtx Tuple{typeof(deepcopy),Any}
258260
frule!!(::Dual{typeof(deepcopy)}, x::Dual) = Dual(deepcopy(primal(x)), deepcopy(tangent(x)))
259261
function rrule!!(::CoDual{typeof(deepcopy)}, x::CoDual)
@@ -449,6 +451,8 @@ function derived_rule_test_cases(rng_ctor, ::Val{:foreigncall})
449451
TypeVar(:a),
450452
Real,
451453
),
454+
(false, :none, nothing, Base.has_free_typevars, Float64),
455+
(false, :none, nothing, Base.has_free_typevars, Vector{Float64}),
452456
(
453457
true,
454458
:none,

0 commit comments

Comments
 (0)