Skip to content

Commit 3bc3d18

Browse files
committed
Move it into an extension package
1 parent 4892130 commit 3bc3d18

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ uuid = "90137ffa-7385-5640-81b9-e52037218182"
33
version = "1.7.1"
44

55
[deps]
6-
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
76
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
87
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
98
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
109
StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
1110
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1211

1312
[weakdeps]
13+
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
1414
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1515

1616
[extensions]
17+
StaticArraysChainRulesCoreExt = "ChainRulesCore"
1718
StaticArraysStatisticsExt = "Statistics"
1819

1920
[compat]
@@ -26,6 +27,7 @@ julia = "1.6"
2627
[extras]
2728
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
2829
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
30+
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
2931
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
3032
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
3133
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"

src/chainrules.jl renamed to ext/StaticArraysChainRulesCoreExt.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
module StaticArraysChainRulesCoreExt
2+
3+
using StaticArrays
4+
# ChainRulesCore imports
5+
import ChainRulesCore: ProjectTo, Tangent, project_type, rrule
6+
import ChainRulesCore as CRC
7+
18
# Projecting a tuple to SMatrix leads to ChainRulesCore._projection_mismatch by default, so
29
# overloaded here
310
function (project::ProjectTo{<:Tangent{<:Tuple}})(dx::StaticArraysCore.SArray)
@@ -21,3 +28,5 @@ function rrule(::Type{T}, x::Tuple) where {T <: SArray}
2128
∇Array(∂y) = (NoTangent(), project_x(∂y))
2229
return T(x), ∇Array
2330
end
31+
32+
end

src/StaticArrays.jl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ using LinearAlgebra: checksquare
2121

2222
using PrecompileTools
2323

24-
# ChainRulesCore imports
25-
import ChainRulesCore: ProjectTo, Tangent, project_type, rrule
26-
import ChainRulesCore as CRC
27-
2824
# StaticArraysCore imports
2925
# there is intentionally no "using StaticArraysCore" to not take all symbols exported
3026
# from StaticArraysCore to make transitioning definitions to StaticArraysCore easier.

0 commit comments

Comments
 (0)