Skip to content

FLoops loop failing on no matching length method #21

@KEBO80

Description

@KEBO80

The following fails for me in julia 1.7 with relevan packages:

FGenerators v0.1.4
FLoops v0.2.0
Transducers v0.4.73

MWE:

julia> using FGenerators

julia> using FLoops

julia> @fgenerator function generate123()
                  @yield 1
                  @yield 2
                  @yield 3
              end;

julia> @floop for x in generate123()
                  @show x
              end
ERROR: MethodError: no method matching length(::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}})
Closest candidates are:
  length(::Union{Base.KeySet, Base.ValueIterator}) at C:\Users\k.bouwman\AppData\Local\Programs\Julia-1.7.2\share\julia\base\abstractdict.jl:58
  length(::Union{LinearAlgebra.Adjoint{T, S}, LinearAlgebra.Transpose{T, S}} where {T, S}) at C:\Users\k.bouwman\AppData\Local\Programs\Julia-1.7.2\share\julia\stdlib\v1.7\LinearAlgebra\src\adjtrans.jl:171
  length(::Union{Tables.AbstractColumns, Tables.AbstractRow}) at C:\Users\k.bouwman\.julia\packages\Tables\PxO1m\src\Tables.jl:175
  ...
Stacktrace:
 [1] amount(xs::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}})
   @ SplittablesBase.Implementations C:\Users\k.bouwman\.julia\packages\SplittablesBase\gpREK\src\implementations.jl:65
 [2] transduce_assoc(xform::Transducers.IdentityTransducer, step::Transducers.AdHocRF{var"#__##oninit_function#293", typeof(identity), var"#__##reducing_function#294", typeof(identity), typeof(identity), var"#__##combine_function#295"}, init::Transducers.InitOf{Transducers.DefaultInitOf}, coll0::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}}; simd::Val{false}, basesize::Nothing, stoppable::Nothing, nestlevel::Nothing)
   @ Transducers C:\Users\k.bouwman\.julia\packages\Transducers\HBMTc\src\reduce.jl:108
 [3] transduce(xf::Transducers.IdentityTransducer, rf::Function, init::Transducers.InitOf{Transducers.DefaultInitOf}, coll::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}}, exc::ThreadedEx{NamedTuple{(:simd,), Tuple{Val{false}}}})
   @ Transducers C:\Users\k.bouwman\.julia\packages\Transducers\HBMTc\src\executors.jl:152
 [4] transduce(xf::Transducers.IdentityTransducer, rf::Function, init::Transducers.InitOf{Transducers.DefaultInitOf}, coll::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}}, exc::Transducers.PreferParallel{NamedTuple{(:simd,), Tuple{Val{false}}}})
   @ Transducers C:\Users\k.bouwman\.julia\packages\Transducers\HBMTc\src\executors.jl:164
 [5] _fold
   @ C:\Users\k.bouwman\.julia\packages\FLoops\3ZEuy\src\reduce.jl:851 [inlined]
 [6] _fold(rf::Transducers.AdHocRF{var"#__##oninit_function#293", typeof(identity), var"#__##reducing_function#294", typeof(identity), typeof(identity), var"#__##combine_function#295"}, coll::Transducers.AdHocFoldable{var"##generate123#foldl#291#5", NamedTuple{(), Tuple{}}}, #unused#::Nothing, simd::Val{false})
   @ FLoops C:\Users\k.bouwman\.julia\packages\FLoops\3ZEuy\src\reduce.jl:849
 [7] top-level scope
   @ C:\Users\k.bouwman\.julia\packages\FLoops\3ZEuy\src\reduce.jl:829

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions