From 6090bf49114ef86d122fc131a8bdb251d19aea3b Mon Sep 17 00:00:00 2001 From: Jishnu Bhattacharya Date: Wed, 20 Dec 2023 12:21:41 +0530 Subject: [PATCH] Move `Adapt` to a weak dependency (#331) * Move Adapt to a weak-dependency * rename extension module --- Project.toml | 11 +++++++++-- ext/OffsetArraysAdaptExt.jl | 11 +++++++++++ src/OffsetArrays.jl | 8 +++----- 3 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 ext/OffsetArraysAdaptExt.jl diff --git a/Project.toml b/Project.toml index a26ff6b..42e8c09 100644 --- a/Project.toml +++ b/Project.toml @@ -1,10 +1,16 @@ name = "OffsetArrays" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.10" +version = "1.13.0" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +[weakdeps] +Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + +[extensions] +OffsetArraysAdaptExt = "Adapt" + [compat] Adapt = "2, 3, 4" Aqua = "0.8" @@ -20,6 +26,7 @@ Test = "<0.0.1, 1" julia = "0.7, 1" [extras] +Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" CatIndices = "aafaddc9-749c-510e-ac4f-586e18779b91" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" @@ -32,4 +39,4 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Aqua", "CatIndices", "DistributedArrays", "DelimitedFiles", "Documenter", "Test", "LinearAlgebra", "EllipsisNotation", "StaticArrays", "FillArrays"] +test = ["Adapt", "Aqua", "CatIndices", "DistributedArrays", "DelimitedFiles", "Documenter", "EllipsisNotation", "FillArrays", "LinearAlgebra", "StaticArrays", "Test"] diff --git a/ext/OffsetArraysAdaptExt.jl b/ext/OffsetArraysAdaptExt.jl new file mode 100644 index 0000000..506bf90 --- /dev/null +++ b/ext/OffsetArraysAdaptExt.jl @@ -0,0 +1,11 @@ +module OffsetArraysAdaptExt + +using OffsetArrays, Adapt + +## +# Adapt allows for automatic conversion of CPU OffsetArrays to GPU OffsetArrays +## +import Adapt +Adapt.adapt_structure(to, O::OffsetArray) = OffsetArrays.parent_call(x -> Adapt.adapt(to, x), O) + +end diff --git a/src/OffsetArrays.jl b/src/OffsetArrays.jl index 2853008..da158cb 100644 --- a/src/OffsetArrays.jl +++ b/src/OffsetArrays.jl @@ -852,11 +852,9 @@ if VERSION <= v"1.7.0-DEV.400" Base._to_linear_index(A::OffsetArray) = first(LinearIndices(A)) end -## -# Adapt allows for automatic conversion of CPU OffsetArrays to GPU OffsetArrays -## -import Adapt -Adapt.adapt_structure(to, O::OffsetArray) = parent_call(x -> Adapt.adapt(to, x), O) +if !isdefined(Base, :get_extension) + include("../ext/OffsetArraysAdaptExt.jl") +end if Base.VERSION >= v"1.4.2" include("precompile.jl")