diff --git a/src/SymbolicIndexingInterface.jl b/src/SymbolicIndexingInterface.jl index 740af70..5f35517 100644 --- a/src/SymbolicIndexingInterface.jl +++ b/src/SymbolicIndexingInterface.jl @@ -49,4 +49,7 @@ include("parameter_indexing_proxy.jl") export remake_buffer include("remake.jl") + +include("despecialize.jl") + end diff --git a/src/despecialize.jl b/src/despecialize.jl new file mode 100644 index 0000000..3cc42a7 --- /dev/null +++ b/src/despecialize.jl @@ -0,0 +1,12 @@ +struct __InternalInvalidator1 <: Real end +struct __InternalInvalidator2 <: Real end +struct __InternalInvalidator3 <: AbstractVector{Real} end +symbolic_type(::Type{__InternalInvalidator1}) = ScalarSymbolic() +symbolic_type(::Type{__InternalInvalidator2}) = ArraySymbolic() +symbolic_type(::Type{__InternalInvalidator3}) = ScalarSymbolic() +symbolic_type(::Type{Int}) = NotSymbolic() +symbolic_type(::Type{UInt}) = NotSymbolic() +symbolic_type(::Type{Float64}) = NotSymbolic() +symbolic_type(::Type{Vector{Int}}) = NotSymbolic() +symbolic_type(::Type{Matrix{Float64}}) = NotSymbolic() +symbolic_type(::Type{Array{UInt, 3}}) = NotSymbolic()