AbstractTrees.jl icon indicating copy to clipboard operation
AbstractTrees.jl copied to clipboard

Error in v0.4.3 when building trees over subtypes

Open agerlach opened this issue 1 year ago • 3 comments

I historically used the following code to build a tree over subtypes. This works in v0.4.2, but fails in v0.4.3.

using AbstractTrees
AbstractTrees.children(t::Type) = subtypes(t)
first(Leaves(Number))
ERROR: MethodError: Cannot `convert` an object of type Tuple{DataType, Int64} to an object of type Nothing
Closest candidates are:
  convert(::Type{Nothing}, ::Any) at some.jl:37
  convert(::Type{T}, ::Any) where T>:Nothing at some.jl:36
  convert(::Type{Nothing}, ::Nothing) at some.jl:38
  ...
Stacktrace:
  [1] convert(#unused#::Type{Nothing}, x::Tuple{DataType, Int64})
    @ Base ./some.jl:37
  [2] ImplicitCursor(p::ImplicitCursor{DataType, Nothing, Any}, n::Type, s::Tuple{DataType, Int64})
    @ AbstractTrees ~/.julia/packages/AbstractTrees/EUx8s/src/cursors.jl:149
  [3] iterate(csr::ImplicitCursor{DataType, Nothing, Any}, s::AbstractTrees.InitialState)
    @ AbstractTrees ~/.julia/packages/AbstractTrees/EUx8s/src/cursors.jl:174
  [4] iterate
    @ ~/.julia/packages/AbstractTrees/EUx8s/src/cursors.jl:167 [inlined]
  [5] isempty
    @ ./essentials.jl:788 [inlined]
  [6] descendleft(node::ImplicitCursor{DataType, Nothing, Any})
    @ AbstractTrees ~/.julia/packages/AbstractTrees/EUx8s/src/base.jl:176
  [7] call_composed
    @ ./operators.jl:1039 [inlined]
  [8] (::ComposedFunction{ComposedFunction{Type{AbstractTrees.LeavesState}, typeof(descendleft)}, Type{TreeCursor}})(x::Type; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Base ./operators.jl:1035
  [9] ComposedFunction
    @ ./operators.jl:1033 [inlined]
 [10] initial
    @ ~/.julia/packages/AbstractTrees/EUx8s/src/iteration.jl:231 [inlined]
 [11] iterate(ti::Leaves{DataType})
    @ AbstractTrees ~/.julia/packages/AbstractTrees/EUx8s/src/iteration.jl:74
 [12] first(itr::Leaves{DataType})
    @ Base ./abstractarray.jl:424
 [13] top-level scope
    @ REPL[8]:1

agerlach avatar Apr 11 '23 17:04 agerlach