jlapeyre / Symata.jl

language for symbolic mathematics
Other
175 stars 15 forks source link

World age issue? #159

Open goedman opened 6 years ago

goedman commented 6 years ago

Hi John.

In another test (ex.5.1_symata.jl in the ch04 examples) I noticed that performing the @eval ... in a do-block will end up in below world age error.

Commenting out the do/end block after the cd(ProjDir) #do fixes this.

This is not new in Julia 1.0, same problem in Julia 0.6.4.

As I know how to work around it I'll leave this issue open for a few days and then close it.

Best, Rob

ERROR: LoadError: MethodError: no method matching f(::Int64)
The applicable method may be too new: running in world age 25520, while current world is 25521.
Closest candidates are:
  f(::Any) at /Users/rob/.julia/dev/NumericalMethodsforEngineers/examples/ch04/ex.5.1_symata.jl:54 (method too new to be called from this world context.)
Stacktrace:
 [1] _broadcast_getindex_evalf at ./broadcast.jl:574 [inlined]
 [2] _broadcast_getindex at ./broadcast.jl:547 [inlined]
 [3] getindex at ./broadcast.jl:507 [inlined]
 [4] copy at ./broadcast.jl:782 [inlined]
 [5] materialize(::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(f),Tuple{StepRange{Int64,Int64}}}) at ./broadcast.jl:748
 [6] (::getfield(Main, Symbol("##3#4")))() at /Users/rob/.julia/dev/NumericalMethodsforEngineers/examples/ch04/ex.5.1_symata.jl:57
 [7] cd(::getfield(Main, Symbol("##3#4")), ::String) at ./file.jl:96
 [8] top-level scope at none:0
 [9] include at ./boot.jl:317 [inlined]
 [10] include_relative(::Module, ::String) at ./loading.jl:1038
 [11] include(::Module, ::String) at ./sysimg.jl:29
 [12] include(::String) at ./client.jl:388
 [13] top-level scope at none:0
in expression starting at /Users/rob/.julia/dev/NumericalMethodsforEngineers/examples/ch04/ex.5.1_symata.jl:41
jlapeyre commented 6 years ago

Thanks. I'll look at this soon (ish). I still have things disabled because of the world age issue. It's good to have found another one.