If I understand correctly, this should do: function myfunc{T<:Vector}(v::Nullable{T}) ... end
On Tue, 2015-07-21 at 22:37, Darwin Darakananda <darwinda...@gmail.com> wrote: > Hi all, > > I'm in the process of replacing my Union{Nothing, T} annotations to > Nullable{T}, but I'm getting stuck when T is a parametric type. For > example, replacing the function > > function myfunc(v::Union{Nothing, Vector}) > ... > end > > with > > function myfunc(v::Nullable{Vector}) > ... > end > > makes it completely uncallable since any vector I pass in comes with an > eltype parameter and Julia's type parameters are invariant. For functions > or types that only have a couple Nullable types, I can do something like > > function myfunc{T}(v::Nullable{Vector{T}}) > ... > end > > type MyType{T} > v::Nullable{Vector{T} > end > > but that gets very ugly when you have a large number of nullable types. > Does anyone know of a cleaner way to do this? > > Thanks, > > Darwin