On Sep 12, 2016, at 01:00 , Gerriet M. Denkmann <gerr...@mdenkmann.de> wrote:
> 
> This is what I wanted to write:
> 
> if self is SArray { … }
> But the compiler warns me: Cast from ‘SBase.Type’ to unrelated type 'SArray' 
> always fails.
> It is right: the test always fails. And wrong: they are NOT unrelated: SArray 
> is subclass of SBase.

I typed this into a playground:

> class SBase {
>       func a ()       {
>               if self is SArray { print ("SArray") } else { print ("not 
> SArray") }
>       }
> }
> 
> class SArray: SBase {
> }
> 
> let s1 = SBase ()
> s1.a ()
> let s2 = SArray ()
> s2.a ()

and got this output:

> not SArray
> SArray

So you’re doing something different. Can you show a code fragment that 
demonstrates the problem in a playground?

(I am using Swift 3, but this behavior should be the same in Swift 2.)

_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to