Issue 19205: Clarify deepclone on Collections (qvt-rtf) Source: Model Driven Solutions (Dr. Edward Willink, ed(at)willink.me.uk) Nature: Clarification Severity: Minor Summary: The Issue 19146 resolution is not sufficiently clear for Collection::deepclone. Any nested mutables must be deepcloned, so the specify should require a reursive deepclone that one the retuirn decides between self or the clone according to whether any eleemnts need to change Resolution: Clarify deepclone on Collections The Issue 19146 resolution is not sufficiently clear for Collection::deepclone. Any nested mutables must be deepcloned, so the specification should require a recursive deepclone that the return decides between self or the clone according to whether any elements need to change Discussion Yes Revised Text: In 8.3.11.3 Collection::deepclone replace: Collections are immutable so a deep clone returns self. post: result = self by Returns a collection that is a deep clone of self; that is a collection in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content. In 8.3.12.3 Bag::deepclone replace: Bags are immutable so a deep clone returns self. by Returns a Bag that is a deep clone of self; that is a Bag in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content. In 8.3.13.3 OrderedSet::deepclone replace: Sets are immutable so a deep clone returns self. by Returns an OrderedSet that is a deep clone of self; that is an OrderedSet in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content. In 8.3.14.3 Sequence::deepclone replace: Sequences are immutable so a deep clone returns self. by Returns a Sequence that is a deep clone of self; that is a Sequence in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content. In 8.3.15.3 Set::deepclone replace: Sets are immutable so a deep clone returns self. by Returns a Set that is a deep clone of self; that is a Set in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content. Actions taken: February 5, 2014: received issue December 22, 2015: Resolved March 29, 2016: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 05 Feb 2014 13:50:00 -0500 To: Subject: Issue/Bug Report ******************************************************************************* Name: Edward Willink Employer: mailFrom: ed@willink.me.uk Terms_Agreement: I agree Specification: QVT Section: 8 FormalNumber: 11-01-01 Version: 1.2 Doc_Year: 2011 Doc_Month: January Doc_Day: 01 Page: n/a Title: Clarify deepclone on Collections Nature: Clarification Severity: Minor CODE: 3TMw8 B1: Report Issue Remote Name: edwillink.plus.com Remote User: HTTP User Agent: Mozilla/5.0 (Windows NT 6.0; rv:26.0) Gecko/20100101 Firefox/26.0 Time: 01:50 PM Description: The Issue 19146 resolution is not sufficiently clear for Collection::deepclone. Any nested mutables must be deepcloned, so the specify should require a reursive deepclone that one the retuirn decides between self or the clone according to whether any eleemnts need to change.