The answer was a misplaced get definition in a module which was not
prefixed by Base
workspace()
module mess
get() = 1
function foo()
dict = Dict{String,Float64}()
dict["hello"] = 1.23
get( dict, "hello", 2.3)
end
export foo
end
using mess
foo()
On Wednesday, March 11, 2015 at 12:43:46 PM UTC-4, Michael Francis wrote:
>
> If I locally define
>
> function myget{K,V}(h::Dict{K,V}, key, default)
> index = Base.ht_keyindex(h, key)
> return (index<0) ? default : h.vals[index]::V
> end
>
> and change my code to use this myget it all works fine. So it looks like
> the function resolution on get has lost the plot ?
>
> On Wednesday, March 11, 2015 at 11:30:18 AM UTC-4, Michael Francis wrote:
>>
>> After moving some code around I get the following error - I don't have a
>> small test case
>>
>> ERROR: `get` has no method matching get(::Dict{WeakRef,CalcState},
>> ::WeakRef, :: CalcState)
>>
>> It looks like the type system is getting confused ? Any pointers in how
>> to resolve ?
>>
>