On May 30, 2011, at 1:45 PM, julius wrote: > > On 30 May 2011, at 20:03,Quincey Morris wrote >> >> On May 30, 2011, at 08:27, julius wrote: >> >>> All I had hoped was that someone on this list might illuminate the issue >>> more than has happened so far. >> >> The problem isn't really lack of illumination, but that you're not prepared >> to accept the consequences of the explanation. > > Hilarity and riot. > >> >> Here's my version of the illumination: >> > snip >> -- It at least theoretically provides opportunities for compile-type (== >> better) error messages if you accidentally pass a value of the wrong type. >> >> -- It at least theoretically eliminates the need to code some range >> validation checks. >> > > Here is a nice instance that I think quite germane. > > The input parameter to NSArray's objectAtIndex: is an NSUInteger. > Both these code snippets work perfectly (they retrieve element 3). > zStr = [zAry objectAtIndex:3.1]; > and > CGFloat zF1 = 3.2; > zStr = [zAry objectAtIndex:zF1]; > > I'm sure that by setting the right flags one could get warning messages to > appear.
Julius, As others have pointed out, this has nothing to do with Objective-C or Cocoa. This behavior is true of any C derived language or library. If this aspect of C bothers you, then please consider adding -Wconversion to your project's build settings (CFLAGS): $ clang -Wall -Wextra -Wconversion -Os -c test.c test.c:2:18: warning: implicit conversion turns literal floating-point number into integer: 'double' to 'unsigned int' [-Wliteral-conversion] void g(void) { f(3.1); f(-1); } ~ ^~~ test.c:2:26: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion] void g(void) { f(3.1); f(-1); } ~ ^~ 2 warnings generated. $ davez _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com