What is the difference between
function foo(a::Adjoint{Float64, Matrix{T}} where T)
return 0
end
and
function foo(a::Adjoint{Float64, Matrix{T} where T})
return 1
end
(Note the location of the curly braces.)
julia> methods(foo)
# 2 methods for generic function "foo":
[1] foo(a::Adjoint{Float64,Array{T,2}} where T) in Main at REPL[247]:2
[2] foo(a::Adjoint{Float64,Array{T,2} where T}) in Main at REPL[248]:2
It seems in both cases the function would accept an adjoint of Matrix of type T? I can't figure out what the difference between the two functions is.