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
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to