julia
6b3b7996 - workaround subtyping bugs via construction

Commit
8 years ago
workaround subtyping bugs via construction The subtyping algorithm is unable to correctly handle the case where the UnionAll bounds and swapped with other covariant bounds This works around that issue during construction. Unfortunately, this often triggers the more serious subtyping design bug referenced in subtype.c, causing frequent segfaults: 873 // TODO this is not strictly correct, but we don't yet have any other way for 874 // e.g. the argument `Int` to match a `::DataType` slot. Most correct would be: 875 // Int isa DataType, Int isa Type{Int}, Type{Int} more specific than DataType, 876 // !(Type{Int} <: DataType), !isleaftype(Type{Int}), because non-DataTypes can 877 // be type-equal to `Int`. fix #23278
Author
Committer
Parents
Loading