-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unreachable reached and Illegal Instruction in v1.10+ #54404
Comments
Reproduces on master. |
Type intersect MWE julia> struct Val2{T <: Number} end
julia> S = Tuple{Val, Val{Nothing}}
Tuple{Val, Val{Nothing}}
julia> T = Tuple{Val{A}, A} where {B, A<:Union{Val{B}, Val2{B}}}
Tuple{Val{A}, A} where {B, A<:Union{Val{B}, Val2{B}}}
julia> typeintersect(S, T)
Union{} The reason seems clear: |
Should probably add a testcase. |
This commit adds a nothrow path for type instantiation, which eliminates the bad `Union` elements from the result rather than returns the bottom type. close JuliaLang#54404
Thanks a lot for the quick solution! |
…ll` (JuliaLang#54465) This commit adds a nothrow path for type instantiation, which eliminates the bad `Union` elements from the result rather than returns the bottom type. close JuliaLang#54404
I had a working implementation of a Trie structure in Julia 1.8 and 1.9 which broke with 1.10+. I have managed to reduce it to the following MWE:
This works in version 1.6.7 and 1.9.4, but breaks in 1.10.3 and 1.11.0-beta1 (all installed via juliaup):
Versioninfo:
The problem seems to be caused by some combination of the abstraction layer introduced by
AT1
andAT2
(removing those removes the error), and theUnion{}
in line 15. Also, callinginsert_helper!
at line 22 directly onNodeIdTrie{NodeType}()
also works. It also runs fine using the VSCode Julia Debugger.The text was updated successfully, but these errors were encountered: