Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

frule_via_ad tries to call NoTangent

未关闭
#277 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
julia
领域
devtools

调研方向

使用 ChainRulesCore.frule_via_ad 和 Diffractor.DiffractorRuleConfig 重现该示例。从 src/stage1/recurse_fwd.jl 的第 66 行开始,然后跟踪 src/stage1/forward.jl 第 114 行和第 130 行附近的调用。当所示的 NoTangent 输入在调用 NoTangent 时不再产生 MethodError,即表示完成。

由索引模型根据 Issue 内容生成。

描述

bug
julia> using ChainRulesCore, Diffractor

julia> ChainRulesCore.frule_via_ad(Diffractor.DiffractorRuleConfig(), (NoTangent(), 1), exp, 1)
ERROR: MethodError: objects of type NoTangent are not callable
Stacktrace:
 [1] ∂☆nomethd(args::Any)
   @ Diffractor ~/.julia/packages/Diffractor/v1WuP/src/stage1/recurse_fwd.jl:66
 [2] macro expansion
   @ ~/.julia/packages/Diffractor/v1WuP/src/stage1/recurse_fwd.jl:0 [inlined]
 [3] (::Diffractor.∂☆recurse{…})(::Diffractor.TangentBundle{…}, ::Diffractor.TangentBundle{…})
   @ Diffractor ~/.julia/packages/Diffractor/v1WuP/src/stage1/recurse_fwd.jl:103
 [4] (::Diffractor.∂☆internal{…})(::Diffractor.TangentBundle{…}, ::Vararg{…})
   @ Diffractor ~/.julia/packages/Diffractor/v1WuP/src/stage1/forward.jl:114
 [5] frule_via_ad(::Diffractor.DiffractorRuleConfig, ::Tuple{NoTangent, Int64}, ::Function, ::Vararg{Any})
   @ Diffractor ~/.julia/packages/Diffractor/v1WuP/src/stage1/forward.jl:130
 [6] top-level scope
   @ ~/Work/GitHub/Julia/DifferentiationInterface.jl/test/diffractor.jl:18
Some type information was truncated. Use `show(err)` to see complete types.
主要语言
Julia
星标
453
派生
33
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

JuliaDiff/Diffractor.jl 的其他 Issue

查看 JuliaDiff/Diffractor.jl 的全部 Issue

相似的 Issue

更多 Julia Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。