Note that in v1 it give some “hides a method from the parent class”, due to the missing “override” (since “description” is defined NSObject). tis probably is related somehow.
Ah, this happens when I try to use FailingDescription as a String. If I don’t use it, the code compiles fine. Calling description explicitly gives E: Cannot access non-static member "description" on type "FailingDescription", but that can easily be fixed by adding static in the declaration. It doesn’t fix the type mismatch, though.
So yes, calling description explicitly works, but it doesn’t get called implicitly when a String is needed. What I get is a pointer description instead. As a side note, in Apple’s compiler specifying override in anything but class members is an error.