On 2 Mar 2010, at 19:54, Truls Becken wrote:

> Smells like a compiler bug, I guess. David?

Clang uses the ObjC 2 rules for protocols; they should either be empty 
(forward-declared), in which case they will be resolved at load time, or their 
definitions should match.  This is to prevent two modules from declaring 
different protocols of the same name and breaking after testing for protocol 
conformance.

You should not ever adopt a protocol that is only forward-declared.  This will 
break introspection with the old ABI and cause all sorts of irritating 
problems.  With the new runtime, if you adopt a forward-declared protocol then 
the runtime will try to fix up its definition to match the real definition one, 
if it can.

David

-- Send from my Jacquard Loom


_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to