https://github.com/JuliaLang/julia
Revision 6b3b79962f9520b7a1e4b68183ef92f92fb95b4e authored by Jameson Nash on 16 August 2017, 17:56:27 UTC, committed by Jameson Nash on 16 August 2017, 17:56:29 UTC
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
1 parent 271f210
History
Tip revision: 6b3b79962f9520b7a1e4b68183ef92f92fb95b4e authored by Jameson Nash on 16 August 2017, 17:56:27 UTC
workaround subtyping bugs via construction
Tip revision: 6b3b799
File Mode Size
.github
base
contrib
deps
doc
etc
examples
src
test
ui
.gitignore -rw-r--r-- 213 bytes
.mailmap -rw-r--r-- 9.5 KB
.travis.yml -rw-r--r-- 5.7 KB
CONTRIBUTING.md -rw-r--r-- 19.4 KB
DISTRIBUTING.md -rw-r--r-- 8.2 KB
HISTORY.md -rw-r--r-- 104.0 KB
LICENSE.md -rw-r--r-- 5.6 KB
Make.inc -rw-r--r-- 34.7 KB
Makefile -rw-r--r-- 25.9 KB
NEWS.md -rw-r--r-- 60.6 KB
README.arm.md -rw-r--r-- 5.7 KB
README.md -rw-r--r-- 28.9 KB
README.windows.md -rw-r--r-- 13.0 KB
VERSION -rw-r--r-- 10 bytes
Windows.inc -rw-r--r-- 1.5 KB
appveyor.yml -rw-r--r-- 2.2 KB
circle.yml -rw-r--r-- 3.1 KB

README.md

back to top