Skip to content

Commit 7cd9b6c

Browse files
Merge pull request #134 from SciML/as/despecialize
refactor: despecialize methods to avoid invalidations
2 parents 1168dbd + 83dc17f commit 7cd9b6c

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/SymbolicIndexingInterface.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,7 @@ include("parameter_indexing_proxy.jl")
4949

5050
export remake_buffer
5151
include("remake.jl")
52+
53+
include("despecialize.jl")
54+
5255
end

src/despecialize.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
struct __InternalInvalidator1 <: Real end
2+
struct __InternalInvalidator2 <: Real end
3+
struct __InternalInvalidator3 <: AbstractVector{Real} end
4+
symbolic_type(::Type{__InternalInvalidator1}) = ScalarSymbolic()
5+
symbolic_type(::Type{__InternalInvalidator2}) = ArraySymbolic()
6+
symbolic_type(::Type{__InternalInvalidator3}) = ScalarSymbolic()
7+
symbolic_type(::Type{Int}) = NotSymbolic()
8+
symbolic_type(::Type{UInt}) = NotSymbolic()
9+
symbolic_type(::Type{Float64}) = NotSymbolic()
10+
symbolic_type(::Type{Vector{Int}}) = NotSymbolic()
11+
symbolic_type(::Type{Matrix{Float64}}) = NotSymbolic()
12+
symbolic_type(::Type{Array{UInt, 3}}) = NotSymbolic()

0 commit comments

Comments
 (0)