[swift-corelibs-dev] NSCoding methods
Luke Howard
lukeh at padl.com
Tue Dec 29 07:03:39 CST 2015
OK, so I’ve cleaned up the commit history for the NSCoding branch, you can find it here still:
https://github.com/lhoward/swift-corelibs-foundation/tree/lhoward/nscoding <https://github.com/lhoward/swift-corelibs-foundation/tree/lhoward/nscoding>
I haven’t opened a pull request as I’d like to get it working on Linux first. Having a bit of trouble though. (I’m using Ubuntu 15.10 with the latest snapshot.)
Firstly, build-wise:
* Changing anything in Foundation/ seems to trigger a recompile of everything Swift. Is there a way to do correct dependency analysis? My clock is OK.
* swift/utils/build-script with —debug-foundation still seems to build a release version. I worked around by building everything debug, but that takes up a lot of disk space.
* lldb crashes all the time when printing variables (actually I also see this on OS X as well with the snapshot)
Related to testing:
* Something weird is going on with casting over which completely breaks NSKeyedArchiver. I can reproduce it with the following:
let foo = (NSMutableArray() as? AnyObject) as? NSCoding
which the compiler tells me always succeeds (as I believe it should), but at runtime returns foo==nil. No issue if it is a locally defined class that conforms to NSCoding. It’s failing in _dynamicCastToExistential()’s check for _conformsToProtocols() but I haven’t dug deeper yet.
FYI: my LD_LIBRARY_PATH is pointing to the right libswiftCore/libFoundation. I removed the module maps for Foundation/CoreFoundation from the snapshot directory.
* Subclassing NSObject fails outside Foundation (see SR-272) is also an issue but not a blocking one
— Luke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20151230/677d4f77/attachment.html>
More information about the swift-corelibs-dev
mailing list