Minimal changes to enable import on v0.6#75
Minimal changes to enable import on v0.6#75rdeits wants to merge 3 commits intoJuliaGeometry:masterfrom
Conversation
|
Is moving to StaticArrays still in the cards? That might be the best way to improve v0.6 compatibility. |
|
Yes moving to StaticArrays is the way forward! |
|
Is that something you'd like help with? |
|
Thanks Robin! Yes if you want to get into this, you could start here: |
|
Great! I'll take a look over at #76. |
|
@SimonDanisch I think the PR at #76 has the wrong commits attached. It doesn't look like it has any of the StaticArrays changes. Anyway, I've started looking into this. It'll be a while before I really understand what needs to be done, but I've at least managed to uncover something weird that will have to be resolved to fix v0.6 compatibility: JuliaArrays/StaticArrays.jl#106 |
|
Oh yeah, true! but from what I remember, I tried to keep the changes in GeometryTypes itself minimal. |
This is not ready for merge yet, but I just wanted to get a sense of what would be required to even import GeometryTypes in Julia v0.6-dev.
The tests don't all pass, because there seem to be issues with FixedSizeArrays
fsa_abstract()like:but this at least fixes failures on import.
The primary change is that in Julia v0.6, if you have an abstract type:
abstract Foo{T}then you can't subtype from
Foo(without the parameter). So this is an error:but this is still OK:
abstract Bar{T} <: Foo{T}See: JuliaLang/julia#19414
The fix was to explicitly include the
NandTparameters in the various Mesh types so that we can haveabstract AbstractMesh{N, T, VertT, FaceT} <: AbstractGeometry{N, T}instead ofabstract AbstractMesh{VertT, FaceT} <: AbstractGeometryNow that we have triangular dispatch in v0.6, it might be possible to do this in a more clever way. I'm not sure yet.