From eba7477e3a62c8d3b12a0d2dae718f143ea8b8a0 Mon Sep 17 00:00:00 2001 From: Frames White Date: Mon, 29 Jan 2024 12:53:44 +0800 Subject: [PATCH 1/2] Restrict kwarg type in code generated by @non_differentiable macro --- src/rule_definition_tools.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rule_definition_tools.jl b/src/rule_definition_tools.jl index 10ce7beec..0453d6368 100644 --- a/src/rule_definition_tools.jl +++ b/src/rule_definition_tools.jl @@ -445,7 +445,7 @@ function _nondiff_rrule_expr(__source__, primal_sig_parts, primal_invoke) return @strip_linenos quote # Manually defined kw version to save compiler work. See explanation in rules.jl function (::Core.kwftype(typeof(rrule)))( - $(esc(kwargs))::Any, ::typeof(rrule), $(esc_primal_sig_parts...) + $(esc(kwargs))::NamedTuple, ::typeof(rrule), $(esc_primal_sig_parts...) ) return ($(esc(_with_kwargs_expr(primal_invoke, kwargs))), $pullback_expr) end From 99d2aed9a983bd4c8ffb859d672e8525ea6e75e2 Mon Sep 17 00:00:00 2001 From: Frames White Date: Mon, 29 Jan 2024 12:53:52 +0800 Subject: [PATCH 2/2] Bump version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 786613b5d..deb143a1d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ChainRulesCore" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.20.0" +version = "1.20.1" [deps] Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"