diff --git a/src/types.jl b/src/types.jl index fa35d2e1..831154bd 100644 --- a/src/types.jl +++ b/src/types.jl @@ -94,6 +94,7 @@ const SIMPLIFIED = 0x01 << 0 function ConstructionBase.setproperties(obj::BasicSymbolic{T}, patch::NamedTuple)::BasicSymbolic{T} where T nt = getproperties(obj) nt_new = merge(nt, patch) + # Call outer constructor because hash consing cannot be applied in inner constructor @compactified obj::BasicSymbolic begin Sym => Sym{T}(nt_new.name; nt_new...) _ => Unityper.rt_constructor(obj){T}(;nt_new...)