Skip to content

frules for one are ambiguous #769

Closed
Closed
@MasonProtter

Description

@MasonProtter
  MethodError: frule(::Tuple{ZeroTangent, Float64}, ::typeof(one), ::Float64) is ambiguous.
  
  Candidates:
    frule(::Tuple, ::typeof(one), var"1277")
      @ ChainRules ~/.julia/packages/ChainRules/pEOSw/src/rulesets/Base/nondiff.jl:336
    frule(::Any, ::typeof(one), x::Number)
      @ ChainRules ~/.julia/packages/ChainRules/pEOSw/src/rulesets/Base/base.jl:6

  Possible fix, define
    frule(::Tuple, ::typeof(one), ::Number

These methods come from

@non_differentiable one(::Any)

and

@scalar_rule one(x) ZeroTangent()

respectively. It seems like either @non_differentiable should not use a ::Tuple type restriction, or @scalar_rule should add a ::Tuple type restriction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions