The problem is it was a mistake, but the compiler didn't catch it and even worked.
I think what mark meant with its "woops that a compiler error" was that the compiler shouldn't have been able to call do3 from within the function without a specified instance. Normally if no instance is specified, self is used, but as we all know, a function has no self and thus a "tried to call Do3 on null" error should appear but the compiler currently seems to accept the calling object instance as self even on functions.
So that would be a compiler bug.
I thought it would be quite obvious what compiler error he meant as there was a quite obvious one in that code (function calling method without an existing object without getting a compiler error)
I think what mark meant with its "woops that a compiler error" was that the compiler shouldn't have been able to call do3 from within the function without a specified instance. Normally if no instance is specified, self is used, but as we all know, a function has no self and thus a "tried to call Do3 on null" error should appear but the compiler currently seems to accept the calling object instance as self even on functions.
So that would be a compiler bug.
I thought it would be quite obvious what compiler error he meant as there was a quite obvious one in that code (function calling method without an existing object without getting a compiler error)