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
function Base.getproperty(genes::AbstractArray{G, 1}, name::Symbol) where {G <: AbstractGene}
....
This is piracy, since both AbstractArray and AbstractGene is implemented in Base, and breaks the package in Julia 1.11.
It may seem like it shouldn't be piracy since you explicitly only overrode AbstractArray{<:AbstractGene}, and this package owns AbstractGene. And indeed, this piracy should not be able to break code unrelated to this package.
The problem is that this package relies on existing methods for AbstractArray working, such as getproperty. When this method is overwritten, then any code that used getproperty for AbstractArray{<:AbstractGene} breaks, which includes basic Base code.
The solution is to stop pirating Base here.
The text was updated successfully, but these errors were encountered:
This package defines this method:
This is piracy, since both
AbstractArray
andAbstractGene
is implemented in Base, and breaks the package in Julia 1.11.It may seem like it shouldn't be piracy since you explicitly only overrode
AbstractArray{<:AbstractGene}
, and this package ownsAbstractGene
. And indeed, this piracy should not be able to break code unrelated to this package.The problem is that this package relies on existing methods for
AbstractArray
working, such asgetproperty
. When this method is overwritten, then any code that usedgetproperty
forAbstractArray{<:AbstractGene}
breaks, which includes basic Base code.The solution is to stop pirating Base here.
The text was updated successfully, but these errors were encountered: