Skip to content

Commit 91b4f15

Browse files
fix: handle metadata merging in extend
1 parent a3078e8 commit 91b4f15

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
@@ -2512,7 +2512,15 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem;
25122512
cevs = union(get_continuous_events(basesys), get_continuous_events(sys))
25132513
devs = union(get_discrete_events(basesys), get_discrete_events(sys))
25142514
defs = merge(get_defaults(basesys), get_defaults(sys)) # prefer `sys`
2515-
meta = merge(get_metadata(basesys), get_metadata(sys))
2515+
meta = MetadataT()
2516+
for kvp in get_metadata(basesys)
2517+
kvp[1] == MutableCacheKey && continue
2518+
meta = Base.ImmutableDict(meta, kvp)
2519+
end
2520+
for kvp in get_metadata(sys)
2521+
kvp[1] == MutableCacheKey && continue
2522+
meta = Base.ImmutableDict(meta, kvp)
2523+
end
25162524
syss = union(get_systems(basesys), get_systems(sys))
25172525
args = length(ivs) == 0 ? (eqs, sts, ps) : (eqs, ivs[1], sts, ps)
25182526
kwargs = (observed = obs, continuous_events = cevs,

0 commit comments

Comments
 (0)