On Tuesday, January 28, 2003, at 03:30  pm, Adam Fedor wrote:


Begin forwarded message:

From: St�phane Corth�sy <[EMAIL PROTECTED]>
Date: Mon Jan 27, 2003 5:14:55 PM America/Denver
To: Adam Fedor <[EMAIL PROTECTED]>
Subject: Re: gnustep/base modifications for OSX

Hi,


First, an important question: why do GCArray and GCMutableArray implement -mutableCopyWithZone: as a deep copy, i.e. content is copied, not retained??? NSArray and NSMutableArray don't do that. This might break applications (and in fact it did: I couldn't run my GDL2 tests until I discovered that).
I've changed that (for consistency with our other classes) ... but it's not a bug as such.

The MacOS-X release notes on copying containers specifically say you should *NOT* assume anything about whether a copy is shallow or deep ... so an application which depends on a specific behavior is broken! In particular, some of the abstract class copy method implementations differ from those of the concrete classes!

If an application needs a specific behavior, it should not copy an array, but rather should use retain, or should create a new array and initialise it using -initWithArray:copyItems: setting the flag to say whether items should be copied or merely retained (the same applies to dictionaries and sets).



_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to