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
I'm working on porting MeshCat.jl from GeometryTypes to GeometryBasics, and I just ran into an interesting method ambiguity that turned out to be due to the fact that AbstractMesh is exactly AbstractVector:
julia> AbstractMesh
AbstractArray{Element,1} where Element
julia> AbstractMesh == AbstractVector
true
This makes it impossible to write a function that dispatches on a general AbstractVector vs. an AbstractMesh. It also means that any function written for an AbstractMesh is actually claiming to support any kind of vector of any element, which seems wrong.
It's not a blocker for my work, but I think it's likely to be a minor source of annoyance going forward. Would it be possible to put some kind of type restriction on the element of AbstractMesh? Anything more restrictive than Any would fix the issue and make AbstractMesh a usable type.
The text was updated successfully, but these errors were encountered:
I am working on a similar thing for Shapefile.jl JuliaGeo/Shapefile.jl#39
And while creating a type for MultiPatch type, that is actually a Mesh, realized that GB doesn't currently have a metatype for Mesh types. So I tried to write one similar to the one here #52
Something like this, @meta_type(Mesh, mesh, AbstractVector, P) and it works. So doesn't that automatically suggest, AbstractVector supertypes Mesh type?
I'm working on porting MeshCat.jl from GeometryTypes to GeometryBasics, and I just ran into an interesting method ambiguity that turned out to be due to the fact that
AbstractMesh
is exactlyAbstractVector
:This makes it impossible to write a function that dispatches on a general
AbstractVector
vs. anAbstractMesh
. It also means that any function written for anAbstractMesh
is actually claiming to support any kind of vector of any element, which seems wrong.It's not a blocker for my work, but I think it's likely to be a minor source of annoyance going forward. Would it be possible to put some kind of type restriction on the element of
AbstractMesh
? Anything more restrictive thanAny
would fix the issue and makeAbstractMesh
a usable type.The text was updated successfully, but these errors were encountered: