World age problem

I tried, but it didn’t work:

julia> function test_map()
           func = Meta.parse("x->x^2 + 2x - 1")
           map(Base.invokelatest(eval(func)), [1,3,-1])
       end
test_map (generic function with 1 method)

julia> test_map()
ERROR: MethodError: no method matching (::getfield(Main, Symbol("##5#6")))()
Closest candidates are:
  #5(::Any) at none:1
Stacktrace:
 [1] #invokelatest#1 at ./essentials.jl:742 [inlined]
 [2] invokelatest at ./essentials.jl:741 [inlined]
 [3] test_map() at ./REPL[3]:3
 [4] top-level scope at none:0

And this is NOT a design error, I just simplified my code for the forum. In reality I am assembling an expression at run-time (because the user must be able to edit it).

Any idea?