I have a custom type with a constructor function, and I have another type
that has several members of this type. The problem is that the inner type's
constructor doesn't get called when I would expect it to. Here is a minimal
example to show what I mean:
type MyType
member::Int64
anothermember::Float64
end
function MyType(value::Int64)
return MyType(value, 0.0)
end
foo = MyType(42) # ok
type MyOtherType
member::MyType
end
bar = MyOtherType(42) # this gives an error
The error this gives is as follows:
ERROR: `convert` has no method matching convert(::Type{MyType}, ::Int64)
in convert at base.jl:13
in include at /Applications/Julia-0.3.3.app/Contents/Resources/julia/lib/
julia/sys.dylib
in include_from_node1 at loading.jl:128
in process_options at /Applications/Julia-0.3.3.app/Contents/Resources/
julia/lib/julia/sys.dylib
in _start at /Applications/Julia-0.3.3.app/Contents/Resources/julia/lib/
julia/sys.dylib (repeats 2 times)
while loading /Users/ndv21/Dropbox/Code/Irreversible binary string chemistry
/test.jl, in expression starting on line 17
What can I do to make this work. E.g. how can I ensure that `convert` will
call my type's constructor appropriately? (The `convert` documentation
doesn't say.) Or is there a better way to do this?
Nathaniel