I'm not sure how to make a "MWE" but here is a run-through of the problem: If I run sl on the following it works fine:
[1/1] \(A, B) at /Users/solver/.julia/packages/QuasiArrays/B65Uq/src/matmul.jl:34
>34 @inline \(A::AbstractQuasiArray, B::AbstractQuasiArray) = ldiv(A,B)
A::Fourier{Float64} = Fourier{Float64}() (arg)
B::QuasiArrays.BroadcastQuasiVector{…} = <cos.(Inclusion(DomainSets.RealNumb...> (arg)
→ ldiv(Fourier{Float64}(), cos.(Inclusion(DomainSets.RealNumbers())))
1|debug> sl
But the following is equivalent to so instead of stepping into the materialize call:
[1/3] ldiv(A, B; kwds) at /Users/solver/.julia/packages/ArrayLayouts/RCHQ8/src/ldiv.jl:98
>98 @inline ldiv(A, B; kwds...) = materialize(Ldiv(A,B); kwds...)
A::Fourier{Float64} = Fourier{Float64}() (arg)
B::QuasiArrays.BroadcastQuasiVector{…} = <cos.(Inclusion(DomainSets.RealNumb...> (arg)
kwds::Base.Pairs{…} = Base.Pairs{Symbol, Union{}, Nothing, @NamedTuple{}}() (arg)
→ (ArrayLayouts.Ldiv)(Fourier{Float64}(), cos.(Inclusion(DomainSets.RealNumbers())))
1|debug> sl
Thus it steps out and produces the following:
[1/1] \(A, B) at /Users/solver/.julia/packages/QuasiArrays/B65Uq/src/matmul.jl:34
>34 @inline \(A::AbstractQuasiArray, B::AbstractQuasiArray) = ldiv(A,B)
A::Fourier{Float64} = Fourier{Float64}() (arg)
B::QuasiArrays.BroadcastQuasiVector{…} = <cos.(Inclusion(DomainSets.RealNumb...> (arg)
→ <return [-7.16273e-18, 1.08148e-18, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...>
I'm not sure how to make a "MWE" but here is a run-through of the problem: If I run sl on the following it works fine:
But the following is equivalent to
soinstead of stepping into thematerializecall:Thus it steps out and produces the following: