I didn't remove the package itself because I'm not sure what that would do,
but none of the content we were publishing is worth shipping at this point.
(And not all of it is public.)
While this remains interesting for Swift, any KVO-supporting changes would
need a fair amount of Apple-internal discussion that isn't really suited
for open source at this time.
...and that do not describe or even actively contradict the way things are
today.
A few of these aren't quite so problematic, but simply have no owner or no
significant content. I'm happy to resurrect any that may still be useful.
This document describes the current git workflow that is meant to be used when
developing for the swift project.
At some point in the future, we may discuss changing from this rebase based
workflow to a merge based workflow.
We're leaning away from using the current serialization scheme as the
format for persistent interfaces, so just make this a reference for the
Serialization library.
And include some supplementary mangling changes:
- Give the first generic param (depth=0, index=0) a single character mangling. Even after removing the self type from method declaration types, 'Self' still shows up very frequently in protocol requirement signatures.
- Fix the mangling of generic parameter counts to elide the count when there's only one parameter at the starting depth of the mangling.
Together these carve another 154KB out of a debug standard library. There's some awkwardness in demangled strings that I'll clean up in subsequent commits; since decl types now only mangle the number of generic params at their own depth, it's context-dependent what depths those represent, which we get wrong now. Currying markers are also wrong, but since free function currying is going away, we can mangle the partial application thunks in different ways.
Swift SVN r32896
Canonical dependent member types are always based from a generic parameter, so we can use a more optimal mangling that assumes this. We can also introduce substitutions for AssociatedTypeDecls, and when a generic parameter in a signature is constrained by a single protocol, we can leave that protocol qualification out of the unsubstituted associated type mangling. These optimizations together shrink the standard library by 117KB, and bring the length of the longest Swift symbol in the stdlib down from 578 to 334 characters, shorter than the longest C++ symbol in the stdlib.
Swift SVN r32786
A microoptimization; since the module is likely to come up often in the subsequent mangling, we want to make it more likely to get the coveted S_ substitution.
Swift SVN r32784