From: lith Date: 2009-10-16T20:11:49+09:00 Subject: Re: deep cloning, how? > But I think the spirit of dup > described above is that dup defined in a subclass should initialize it > using its constructor. I'd understand the description in such a way that user should override neither #dup not #clone but instead create a #initialize_copy method to implement anything class-specific (including a non-shallow copy). Since that method is called by #clone and #dup and the frozen/tainted state could be easily reset, I personally still don't quite understand why there are two methods.