diff --git a/.cirrus.yml b/.cirrus.yml index 84c219e..dc7a49c 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,7 +6,7 @@ task: image_family: freebsd-13-1 env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: Linux ARMv8 @@ -14,7 +14,7 @@ task: image: ubuntu:latest env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: musl Linux @@ -22,7 +22,7 @@ task: image: alpine:3.14 env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: MacOS M1 @@ -30,7 +30,7 @@ task: image: ghcr.io/cirruslabs/macos-monterey-base:latest env: matrix: - # - JULIA_VERSION: 1.6 # not available + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly diff --git a/.github/set_ci_preferences.jl b/.github/set_ci_preferences.jl index 929d447..422bb76 100644 --- a/.github/set_ci_preferences.jl +++ b/.github/set_ci_preferences.jl @@ -1,6 +1,6 @@ #!/usr/bin/env julia -open(joinpath(dirname(@__DIR__), "test", "Project.toml"), "a") do io +open(joinpath(dirname(@__DIR__), "Project.toml"), "a") do io println(io, """ [preferences.FFTW] provider = "$(ARGS[1])" diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4a9e6d9..3553da7 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -27,7 +27,7 @@ jobs: - 'fftw' - 'mkl' version: - - '1.6' + - 'min' - '1' - 'nightly' os: @@ -60,15 +60,10 @@ jobs: arch: x86 - os: macOS-13 arch: aarch64 - - os: macOS-13 - version: '1.6' - provider: 'mkl' - os: macOS-latest arch: x86 - os: macOS-latest arch: x64 - - os: macOS-latest - version: '1.6' - os: macOS-latest provider: 'mkl' diff --git a/Project.toml b/Project.toml index 61d618b..4a2ea39 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "FFTW" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.9.0" +version = "1.10.0-dev" [deps] AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" @@ -12,9 +12,18 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" [compat] AbstractFFTs = "1.5" +Aqua = "0.8" FFTW_jll = "3.3.9" -LinearAlgebra = "<0.0.1, 1" +LinearAlgebra = "1" MKL_jll = "2019.0.117, 2020, 2021, 2022, 2023, 2024, 2025" Preferences = "1.2" Reexport = "0.2, 1.0" -julia = "1.6" +Test = "<0.0.1, 1" +julia = "1.10" + +[extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Aqua", "Test"] diff --git a/src/fft.jl b/src/fft.jl index 6739744..6b8a017 100644 --- a/src/fft.jl +++ b/src/fft.jl @@ -335,12 +335,7 @@ function destroy_deferred() # we'll do nothing (the other function will eventually run destroy_deferred). if !isempty(deferred_destroy_plans) && trylock(fftwlock) try - @static if Base.VERSION >= v"1.9" - @inline foreach(unsafe_destroy_plan, deferred_destroy_plans) - else - # call-site @inline isn't supported on old versions of Julia - foreach(unsafe_destroy_plan, deferred_destroy_plans) - end + @inline foreach(unsafe_destroy_plan, deferred_destroy_plans) empty!(deferred_destroy_plans) finally unlock(fftwlock) diff --git a/test/Project.toml b/test/Project.toml deleted file mode 100644 index 895c586..0000000 --- a/test/Project.toml +++ /dev/null @@ -1,13 +0,0 @@ -# A bug in Julia 1.6.0's Pkg causes Preferences to be dropped during `Pkg.test()`, so we work around -# it by explicitly creating a `test/Project.toml` which will correctly communicate any preferences -# through to the child Julia process. X-ref: https://github.com/JuliaLang/Pkg.jl/issues/2500 - -[deps] -AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" -Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[compat] -Aqua = "0.8" -Test = "<0.0.1, 1" diff --git a/test/runtests.jl b/test/runtests.jl index 7b00570..1a3eba5 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -363,12 +363,7 @@ end @inferred rfft(x) if ndims(x) == 2 - if VERSION >= v"1.6.7" - @inferred brfft(x,18) - else - # See Julia issue #23063 - @test_broken @inferred brfft(x,18) - end + @inferred brfft(x,18) end @inferred brfft(y,10) @@ -382,21 +377,6 @@ end end for f in (plan_bfft, plan_fft, plan_ifft, plan_rfft, fft, bfft, fft_, ifft) - # More of #23063 (why does plan_rfft work and the others don't)? - if ndims(x) == 2 && f != plan_rfft - if VERSION >= v"1.6.7" - @inferred f(x) - if isa(f, Plan) - @inferred plan_inv(f(x)) - end - else - @test_broken @inferred f(x) - if isa(f, Plan) - @test_broken @inferred plan_inv(f(x)) - end - continue - end - end p = @inferred f(x) if isa(p, Plan) @inferred plan_inv(p)