Skip to content

subtype: fix false-positive diagonal variable recognition in union bounds - #63813

Draft
adienes wants to merge 1 commit into
JuliaLang:masterfrom
adienes:subtype-ccheck-union
Draft

adienes wants to merge 1 commit into
JuliaLang:masterfrom
adienes:subtype-ccheck-union

Conversation

@adienes

@adienes adienes commented Oct 14, 2026

Copy link
Copy Markdown
Member

each branch of a local ∀∃ check re-matches the same occurrences, so summing them made outer vars look diagonal and rejected e.g. Tuple{Tuple{Union{Int,String}}} <: (Tuple{S} where {T,S<:Tuple{Union{Nothing,T}}})

Assisted-by: Claude Code (Opus 5.5)

each branch of a local ∀∃ check re-matches the same occurrences, so summing them made outer vars look diagonal and rejected e.g. `Tuple{Tuple{Union{Int,String}}} <: (Tuple{S} where {T,S<:Tuple{Union{Nothing,T}}})`

Assisted-by: Claude Code (Opus 5.5)
@adienes adienes added types and dispatch Types, subtyping and method dispatch bugfix This change fixes an existing bug labels Oct 14, 2026
@adienes adienes changed the title subtype: don't sum occurrence counts across left-union branches subtype: fix false-positive diagonal variable recognition in union bounds Oct 14, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix This change fixes an existing bug types and dispatch Types, subtyping and method dispatch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant