Skip to content

Commit 3320bf6

Browse files
committed
fix: try removing nospecialize
1 parent 639eb7b commit 3320bf6

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

src/Reactant.jl

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -178,39 +178,37 @@ include("TracedRArray.jl")
178178

179179
include("ConcreteRArray.jl")
180180

181-
Base.@nospecializeinfer use_overlayed_version(x) = false
182-
Base.@nospecializeinfer function use_overlayed_version(
183-
@nospecialize(x::F)
184-
) where {F<:Function}
181+
use_overlayed_version(x) = false
182+
function use_overlayed_version(x::F) where {F<:Function}
185183
return Base.inferencebarrier(any)(
186184
use_overlayed_version, getfield.(Ref(x), fieldnames(F))
187185
)
188186
end
189-
Base.@nospecializeinfer function use_overlayed_version(@nospecialize(x::Base.Generator))
187+
function use_overlayed_version(x::Base.Generator)
190188
return use_overlayed_version(x.f) || use_overlayed_version(x.iter)
191189
end
192-
Base.@nospecializeinfer function use_overlayed_version(@nospecialize(x::Base.Iterators.Zip))
190+
function use_overlayed_version(x::Base.Iterators.Zip)
193191
return Base.inferencebarrier(any)(use_overlayed_version, x.is)
194192
end
195-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::Base.Iterators.Enumerate)) =
196-
use_overlayed_version(x.itr)
197-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::Vector)) =
198-
Base.inferencebarrier(any)(use_overlayed_version, x)
199-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(iter::Tuple)) =
200-
Base.inferencebarrier(any)(use_overlayed_version, iter)
201-
Base.@nospecializeinfer function use_overlayed_version(@nospecialize(iter::NamedTuple))
193+
function use_overlayed_version(x::Base.Iterators.Enumerate)
194+
return use_overlayed_version(x.itr)
195+
end
196+
function use_overlayed_version(x::Vector)
197+
return Base.inferencebarrier(any)(use_overlayed_version, x)
198+
end
199+
function use_overlayed_version(iter::Tuple)
200+
return Base.inferencebarrier(any)(use_overlayed_version, iter)
201+
end
202+
function use_overlayed_version(iter::NamedTuple)
202203
return Base.inferencebarrier(any)(use_overlayed_version, values(iter))
203204
end
204-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::TracedRArray)) = true
205-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::TracedRNumber)) = true
206-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::Number)) = false
207-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(x::MissingTracedValue)) = true
208-
Base.@nospecializeinfer use_overlayed_version(
209-
@nospecialize(x::AbstractArray{<:TracedRNumber})
210-
) = true
211-
Base.@nospecializeinfer use_overlayed_version(@nospecialize(rng::ReactantRNG)) =
212-
use_overlayed_version(rng.seed)
213-
Base.@nospecializeinfer function use_overlayed_version(@nospecialize(x::AbstractArray))
205+
use_overlayed_version(x::TracedRArray) = true
206+
use_overlayed_version(x::TracedRNumber) = true
207+
use_overlayed_version(x::Number) = false
208+
use_overlayed_version(x::MissingTracedValue) = true
209+
use_overlayed_version(x::AbstractArray{<:TracedRNumber}) = true
210+
use_overlayed_version(rng::ReactantRNG) = use_overlayed_version(rng.seed)
211+
function use_overlayed_version(x::AbstractArray)
214212
a = ancestor(x)
215213
a === x && return false
216214
return use_overlayed_version(a)

0 commit comments

Comments
 (0)