Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing and duplicated methods #282

Open
wheeheee opened this issue Dec 11, 2023 · 7 comments
Open

Missing and duplicated methods #282

wheeheee opened this issue Dec 11, 2023 · 7 comments

Comments

@wheeheee
Copy link

Using the latest VSCode Julia extension, plan_brfft from FFTW.jl is listed as having 8 methods in the tooltip, but actually at least 4 of them are duplicates (or maybe 6), as calling methods(FFTW.plan_brfft) shows it has 5 methods, 4 of which are on the lines shown in the tooltip. I can't tell as the eltype of the StridedArray is somehow not shown (Float32/Float64), also maybe because of the absolutely huge Union.

The 2 argument version of plan_brfft that was defined in AbstractFFTs.jl does not show up, and using it displays a "Possible method call error". Could this be related to #161?

On a side note, is it maybe possible to display StridedArray as StridedArray instead of, say

Union{DenseArray{T, N}, Base.ReinterpretArray{T, N, S, A, IsReshaped} where {A<:Union{SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}, IsReshaped, S}, Base.ReshapedArray{T, N, A} where A<:Union{Base.ReinterpretArray{T, N, S, A, IsReshaped} where {T, N, A<:Union{SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}, IsReshaped, S}, SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}, SubArray{T, N, A, I} where {A<:Union{Base.ReinterpretArray{T, N, S, A, IsReshaped} where {T, N, A<:Union{SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}, IsReshaped, S}, Base.ReshapedArray{T, N, A} where {T, N, A<:Union{Base.ReinterpretArray{T, N, S, A, IsReshaped} where {T, N, A<:Union{SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}, IsReshaped, S}, SubArray{T, N, A, I, true} where {T, N, A<:DenseArray, I<:Union{Tuple{Vararg{Real}}, Tuple{AbstractUnitRange, Vararg{Any}}}}, DenseArray}}, DenseArray}, I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex, AbstractRange{<:Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8}}, Base.ReshapedArray{T, N, A, Tuple{}} where {T, N, A<:AbstractUnitRange}, Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8}}}}} where {T, N}

@pfitzseb
Copy link
Member

What Julia version are you on? I only get one method listed (which is the one you're missing, interestingly enough):
image

@wheeheee
Copy link
Author

wheeheee commented Dec 11, 2023

julia> versioninfo()
Julia Version 1.10.0-rc2
Commit dbb9c46795 (2023-12-03 15:25 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, tigerlake)
  Threads: 11 on 8 virtual cores
Environment:
  JULIA_CONDAPKG_BACKEND = Null
  JULIA_NUM_THREADS = auto
  JULIA_EDITOR = code

Maybe my environment has something to do with it? I was on a fork of DSP.jl, looking at a line in dpsseig in windows.jl
Like this:

image

Update:
Switched the default to 1.9.4, deleted the cache and whatnot, still get the same.

@pfitzseb
Copy link
Member

Hm, still can't repro this after clearing my own cache and using the DSP.jl env.

@wheeheee
Copy link
Author

Hm, maybe I didn't clear everything. Just to confirm, the cache is in ~/.config/Code/User/globalStorage or its equivalent in Windows, right?
Also, I have the VSCode setting "julia.symbolCacheDownload": false because of previous issues with it, and when I turned it to true I reproduced your results.

@pfitzseb
Copy link
Member

Ah, that explains it then. Local caching and remote caching can lead to different results.

@wheeheee
Copy link
Author

I hope enabling local caching is still supported behaviour? 🤞 Although there are still missing methods if it's not.

@pfitzseb
Copy link
Member

It is, yes. There's no difference between the code except that one doesn't run on your machine :)

I suspect that this is an issue with merging the two method lists, which basically happens in the opposite order for both cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants