You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia>struct Foo; end
julia>iterate(Foo())
┌ Warning: The start/next/done iteration protocol is deprecated. Use `iterate` instead.
│ caller =iterate(::Foo) at essentials.jl:853
└ @ Base ./essentials.jl:853
That warning prints once and then Julia hangs for a very long time (I haven't the patience to find out how long). Interrupting it with ctrl+C shows the stack overflow:
^CERROR: InterruptException:
Stacktrace:... (the last 2 lines are repeated 10917 more times)
[21842] backtrace() at ./stacktraces.jl:167
[21842] macro expansion at ./deprecated.jl:72 [inlined]
[21842] macro expansion at ./logging.jl:311 [inlined]
[21842] depwarn(::String, ::Symbol) at ./deprecated.jl:68
[21842] start(::Foo) at ./essentials.jl:879
[21842] iterate(::Foo) at ./essentials.jl:853
[21842] start(::Foo) at ./essentials.jl:880
[21842] iterate(::Foo) at ./essentials.jl:853
it looks like the fallback start() is calling iterate() and the fallback iterate() is calling start().
The text was updated successfully, but these errors were encountered:
I think this is the reason Julia is essentially hanging in JuliaMath/SpecialFunctions.jl#107 and JuliaPackaging/CMakeWrapper.jl#14 because some other issue is causing us to try to iterate over a Symbol.
Here's a simple reproduction:
That warning prints once and then Julia hangs for a very long time (I haven't the patience to find out how long). Interrupting it with ctrl+C shows the stack overflow:
it looks like the fallback
start()
is callingiterate()
and the fallbackiterate()
is callingstart()
.The text was updated successfully, but these errors were encountered: