I’m aware of that fact, but all types with underscore even in the stdlib 
telling me to keep my hands of them, because something might happen to them.

As an example we have _Strideable protocol which is visible by its name, but 
its declaration isn’t visible at all:

// FIXME(ABI)(compiler limitation): Remove `_Strideable`.
// WORKAROUND rdar://25214598 - should be:
// protocol Strideable : Comparable {...}

% for Self in ['_Strideable', 'Strideable']:
From Stride.swift.gyb



-- 
Adrian Zubarev
Sent with Airmail

Am 24. Juni 2016 um 17:09:53, Matthew Johnson ([email protected]) schrieb:

The underscore is used in the same way it is used elsewhere in the standard 
library.  The protocols must be public because they need to be visible to user 
code in order for the design to work correctly.  However, they are considered 
implementation details that users really shouldn’t know about.  This pattern is 
well established in the standard library.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to