From ba6d58ec771d2a22de57fb9413c4f9d07343ce6f Mon Sep 17 00:00:00 2001 From: Marek Kaluba Date: Mon, 12 Feb 2024 12:33:57 +0100 Subject: [PATCH] rewrite/fix deepcopy_internal --- src/types.jl | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/types.jl b/src/types.jl index b33c2b8..3af5d47 100644 --- a/src/types.jl +++ b/src/types.jl @@ -124,13 +124,11 @@ function Base.:(==)(g::AbstractFPGroupElement, h::AbstractFPGroupElement) end function Base.deepcopy_internal(g::FPGroupElement, stackdict::IdDict) - haskey(stackdict, objectid(g)) && return stackdict[objectid(g)] - cw = if haskey(stackdict, objectid(word(g))) - stackdict[objectid(word(g))] - else - copy(word(g)) - end - return FPGroupElement(cw, parent(g), g.savedhash) + haskey(stackdict, g) && return stackdict[g] + cw = Base.deepcopy_internal(word(g), stackdict) + h = FPGroupElement(cw, parent(g), g.savedhash) + stackdict[g] = h + return h end function Base.inv(g::GEl) where {GEl<:AbstractFPGroupElement}