I started looking through your commit histories to find what was the line that caused the problem. I saw that you fixed the problem since then. It would have been courteous to note that your problem has been solved.
On Sunday, November 9, 2014 12:18:20 AM UTC+2, João Felipe Santos wrote: > > Hi, > > I have a module (called Auditory) which exports an immutable type (called > ModulationFilter) which is only a container for a vector of BiquadFilters > (a type exported by another module, DSP). It also exports a helper function > for constructing ModulationFilter, defined here: > https://github.com/jfsantos/Auditory.jl/blob/master/src/ModulationFilterbank.jl#L23) > > The code for the whole module is available here: > https://github.com/jfsantos/Auditory.jl. > > On Julia 0.3, all tests pass. However, when using 0.4, I get the following > error when calling make_modulation_filter (which simply creates a vector of > BiquadFilters and calls the default constructor for ModulationFilterbank): > > ERROR: `convert` has no method matching > convert(::Type{ModulationFilterbank{T}}, ::Array{BiquadFilter{T},1}) > in modulation_filterbank at > /Users/jfsantos/.julia/v0.4/Auditory/src/ModulationFilterbank.jl:24 > > Calling methods(ModulationFilterbank) in Julia 0.3 returns: > > # 1 method for generic function "ModulationFilterbank": > ModulationFilterbank{T}(filters::Array{BiquadFilter{T},1}) > > but in 0.4, I get instead: > > 2-element Array{Any,1}: > call{T}(::Type{ModulationFilterbank{T}},filters::Array{BiquadFilter{T},1}) > call{T}(::Type{T},args...) at base.jl:34 > > I thought there was a difference in how 0.3 and 0.4 deal with the “default > constructor”, so I tried replicating the example with a sillier module: > > module Foo > export Bar > > immutable Bar{T} > x::Vector{T} > end > end > > However, I am able to create elements of this immutable type with a > default constructor either in 0.3 or 0.4. Of course, in this case I don’t > have the additional complication of using a type defined in a second > module. > > Can anyone point out where I am making a mistake here? > > Thanks! > > Best regards > João >
