I recently upgraded from Julia 1.11 to 1.12.1. I’m writing a program and have Revise in startup.jl. I write a new function permcode, export it, and call it to test if it works right. I get this warning:
julia> permcode(Codeword([2,3,5,4,3,1])
)
WARNING: Detected access to binding `MumzelCode.permcode` in a world prior to its definition world.
Julia 1.12 has introduced more strict world age semantics for global bindings.
!!! This code may malfunction under Revise.
!!! This code will error in future versions of Julia.
Hint: Add an appropriate `invokelatest` around the access to this binding.
To make this warning an error, and hence obtain a stack trace, use `julia --depwarn=error`.
436
I exit and restart Julia, defeating the purpose of Revise, and try again:
julia> permcode(Codeword([2,3,5,4,3,1]))
436
Same answer, which is correct. I’m not using eval or including something at runtime, so why am I getting this warning, and how can I avoid getting it?