Hey,

initially I wanted to have `rfft!`

but since it doesn’t exist, I tried the workaround mentioned in this discourse discussion.

However, `mul!`

complains when used with a `plan_rfft`

generated matrix:

```
using LinearAlgebra, FFTW
function main()
# array we want to process
x = randn((60,40))
y = rfft(randn((80,60)))
# just create a view storage
y2 = view(y, 1:31, 1:40)
p = plan_rfft(x)
@time y2 .= p * x; # this still allocates memory because of p * x
@time y2 .= p * x;
@time mul!(y2, p, x); # this should be memory allocation free
@time mul!(y2, p, x);
end
```

Output then is:

```
julia> main()
0.000020 seconds (2 allocations: 19.453 KiB)
0.000012 seconds (2 allocations: 19.453 KiB)
ERROR: ArgumentError: FFTW plan applied to wrong-strides output
Stacktrace:
[1] assert_applicable(p::FFTW.rFFTWPlan{Float64, -1, false, 2, UnitRange{Int64}}, X::Matrix{Float64}, Y::SubArray{ComplexF64, 2, Matrix{ComplexF64}, Tuple{UnitRange{Int64}, UnitRange{Int64}}, false})
@ FFTW ~/.julia/packages/FFTW/G3lSO/src/fft.jl:435
[2] mul!
@ ~/.julia/packages/FFTW/G3lSO/src/fft.jl:781 [inlined]
[3] macro expansion
@ ./timing.jl:210 [inlined]
[4] main()
@ Main ~/julia/FourierTools.jl/src/rfft_issue.jl:17
[5] top-level scope
@ REPL[4]:1
```

Apparently FFTW.jl seems not to correctly accept the view as output.

Am I doing something wrong or what is the issue here?

Thanks,

Felix