-
-
Couldn't load subscription status.
- Fork 37
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Functional IRs sometimes throw unsupported or misplaced expression lambda or ERROR: MethodError: objects of type IRTools.Inner.Self are not callable when evaluated (similar to #54)
Environment: IRTools v0.4.7, Julia Version 1.81, macOS Monterey, Apple M1 Pro
using IRTools: IR, @dynamo, functional, evalir, @code_ir
@dynamo function functional_dyna(a...)
ir = IR(a...)
ir === nothing && return
functional(ir)
end
foo() = false
bar() = if true false else false end
# Works: foo run normally
functional_dyna(foo) # false
# Works: foo run in two steps
ir = @code_ir functional_dyna foo()
evalir(ir, foo) # false
# Works: bar run normally
functional_dyna(bar) # false
# Errors: bar run in two steps
ir = @code_ir functional_dyna bar()
evalir(ir, bar) # ERROR: unsupported or misplaced expression lambdaThe error trace was:
Stacktrace:
[1] var"##344"(arg1::typeof(bar))
@ IRTools.Inner ~/.julia/packages/IRTools/FeBr2/src/eval.jl:18
[2] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[3] invokelatest
@ ./essentials.jl:726 [inlined]
[4] evalir
@ ~/.julia/packages/IRTools/FeBr2/src/eval.jl:25 [inlined]
[5] evalir(ir::IRTools.Inner.IR, args::Any)
@ IRTools.Inner ~/.julia/packages/IRTools/FeBr2/src/eval.jl:26
[6] top-level scope
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working