Commits

Dmitri Hrybenko committed b7498a1efdf
stdlib: add a private serialization API These APIs will be used for writing automation tools in Swift. Just like other private APIs, this module is not exposed to extrenal users. The primary motivation for doing instead of using NSCoder this is that NSCoder does not work with structs and Swift containers. Using classes for everything just to satisfy NSCoder forces unnatural code. This API requires two times (!) less boilerplate than NSCoding, since the same method is used for serialization and deserialization. This API is also more type-safe, it does not require the user to write 'as' type casts, unlike NSCoding. Please take a look at validation-test/stdlib/SwiftPrivateSerialization.swift to see the intended use pattern. The performance of the underlying implementation is already decent, and there's a lot of room for improvement. This is a re-commit of r25678, with a fix for 32-bit platforms. Swift SVN r25877