Skip to content

Commit 14adbf8

Browse files
fix: handle metadata merging in extend
1 parent 13ad4e6 commit 14adbf8

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

0 commit comments

Comments
 (0)