Skip to content

Commit 06a63df

Browse files
fix: fix stack overflow in @generated _remake_buffer fallback
1 parent c5e8240 commit 06a63df

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/systems/parameter_buffer.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ end
506506
# fallback to non-generated method if values aren't type-stable
507507
if vals <: AbstractArray && !isconcretetype(eltype(vals))
508508
return quote
509-
$_remake_buffer(indp, oldbuf, collect(idxs), vals; validate)
509+
$__remake_buffer(indp, oldbuf, collect(idxs), vals; validate)
510510
end
511511
end
512512

@@ -605,6 +605,10 @@ end
605605
end
606606

607607
function _remake_buffer(indp, oldbuf::MTKParameters, idxs, vals; validate = true)
608+
return __remake_buffer(indp, oldbuf, idxs, vals; validate)
609+
end
610+
611+
function __remake_buffer(indp, oldbuf::MTKParameters, idxs, vals; validate = true)
608612
newbuf = @set oldbuf.tunable = similar(oldbuf.tunable, Any)
609613
@set! newbuf.initials = similar(oldbuf.initials, Any)
610614
@set! newbuf.discrete = Tuple(similar(buf, Any) for buf in newbuf.discrete)

0 commit comments

Comments
 (0)