Skip to content

Commit 7709760

Browse files
fix: handle metadata merging in extend
1 parent d4079a8 commit 7709760

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/systems/abstractsystem.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2525,7 +2525,15 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem;
25252525
cevs = union(get_continuous_events(basesys), get_continuous_events(sys))
25262526
devs = union(get_discrete_events(basesys), get_discrete_events(sys))
25272527
defs = merge(get_defaults(basesys), get_defaults(sys)) # prefer `sys`
2528-
meta = merge(get_metadata(basesys), get_metadata(sys))
2528+
meta = MetadataT()
2529+
for kvp in get_metadata(basesys)
2530+
kvp[1] == MutableCacheKey && continue
2531+
meta = Base.ImmutableDict(meta, kvp)
2532+
end
2533+
for kvp in get_metadata(sys)
2534+
kvp[1] == MutableCacheKey && continue
2535+
meta = Base.ImmutableDict(meta, kvp)
2536+
end
25292537
syss = union(get_systems(basesys), get_systems(sys))
25302538
args = length(ivs) == 0 ? (eqs, sts, ps) : (eqs, ivs[1], sts, ps)
25312539
kwargs = (observed = obs, continuous_events = cevs,

0 commit comments

Comments
 (0)