I've been trying to get JavaCall to work with the latest Julia master,
after the Tuplecalypse. I am getting a method ambiguity warning, and am a
bit confused by the suggested fix. Any help appreciated.
so the warning message says:
Warning: New definition
convertTuple{Type{JavaCall.JavaObject{symbol("java.lang.String")}},T<:AbstractString}
at /home/vagrant/.julia/v0.4/JavaCall/src/JavaCall.jl:150
is ambiguous with:
convertTuple{Type{T},T} at base.jl:38.
To fix, define
convertTuple{Type{JavaCall.JavaObject{symbol("java.lang.String")}},JavaCall.JavaObject{symbol("java.lang.String")}}
before the new definition.
The method definition at line 150 of JavaCall.jl is :
convert{T<:String}(::Type{JString}, str::T) = JString(str)
where "JString" is a type alias:
typealias JString JavaObject{symbol("java.lang.String")}
My primary point of confusion is that the suggested fix seems to ask me to
define an identity method. Is that really what I need to do? I suppose I
haven't really understood why this method definition should be ambigous.
Especially since this was OK in 0.3, and older versions of 0.4.
Regards
-
Avik