Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MethodError occurred when broadcasting a string inside @astable #380

Closed
kaoyagi-ncgm opened this issue Feb 29, 2024 · 3 comments
Closed

Comments

@kaoyagi-ncgm
Copy link

Hi,

@transform DataFrame(x=["a","b"]) :z = string.(:x, "c")

or

@transform DataFrame(x=["a","b"]) @astable begin
       :z = map(x -> string(x, "c") ,:x)
end

works fine.

but

@transform DataFrame(x=["a","b"]) @astable begin
       :z = string.(:x, "c")
end 

causes below error

ERROR: LoadError: MethodError: no method matching replace_syms!(::Dict{Any, Symbol}, ::OrderedCollections.OrderedDict{Any, Symbol}, ::Expr)

Closest candidates are:
  replace_syms!(::Any, ::Any)
   @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing.jl:42
  replace_syms!(::Any, ::Expr)
   @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing.jl:45
  replace_syms!(::Any, ::QuoteNode)
   @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing.jl:43

Stacktrace:
  [1] protect_replace_syms_astable!(inputs_to_function::Dict{…}, lhs_assignments::OrderedCollections.OrderedDict{…}, e::Expr)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing_astable.jl:36
  [2] replace_dotted_astable!(inputs_to_function::Dict{…}, lhs_assignments::OrderedCollections.OrderedDict{…}, e::Expr)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing_astable.jl:43
  [3] replace_syms_astable!(inputs_to_function::Dict{…}, lhs_assignments::OrderedCollections.OrderedDict{…}, e::Expr)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing_astable.jl:28
  [4] (::DataFramesMeta.var"#22#24"{OrderedCollections.OrderedDict{Any, Symbol}, Dict{Any, Symbol}})(arg::Expr)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing_astable.jl:71
  [5] iterate
    @ ./generator.jl:47 [inlined]
  [6] _collect(c::Vector{…}, itr::Base.Generator{…}, ::Base.EltypeUnknown, isz::Base.HasShape{…})
    @ Base ./array.jl:854
  [7] collect_similar
    @ ./array.jl:763 [inlined]
  [8] map
    @ ./abstractarray.jl:3285 [inlined]
  [9] get_source_fun_astable(ex::Expr; exprflags::@NamedTuple{…})
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing_astable.jl:67
 [10] fun_to_vec(ex::Expr; gensym_names::Bool, outer_flags::@NamedTuple{…}, no_dest::Bool)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing.jl:351
 [11] fun_to_vec
    @ ~/.julia/packages/DataFramesMeta/MrIOy/src/parsing.jl:314 [inlined]
 [12] (::DataFramesMeta.var"#42#43"{@NamedTuple{…}})(ex::Expr)
    @ DataFramesMeta ./none:0
 [13] iterate(::Base.Generator{Vector{Any}, DataFramesMeta.var"#42#43"{@NamedTuple{…}}})
    @ Base ./generator.jl:47
 [14] transform_helper(x::Expr, args::Expr)
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/macros.jl:1465
 [15] var"@transform"(__source__::LineNumberNode, __module__::Module, x::Any, args::Vararg{Any})
    @ DataFramesMeta ~/.julia/packages/DataFramesMeta/MrIOy/src/macros.jl:1592

julia version info issue occurred

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × AMD Ryzen 9 3950X 16-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver2)
Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)
Environment:
  JULIA_PKG_USE_CLI_GIT = true
@pdeffebach
Copy link
Collaborator

Thanks for the bug report! Sorry that happened. Fixed in #382

@kaoyagi-ncgm
Copy link
Author

@pdeffebach thank you for fix! it works on new version. but the code inside the @astable printed in console. Is it an intentional behavior?

@pdeffebach
Copy link
Collaborator

Yeah sorry about that! Just made a patch release with the fix (#389)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants