Commit Graph

3 Commits

Author SHA1 Message Date
Saleem Abdulrasool
48e208ecfa Shims: match the declared type for CF interfaces
`CFHashBytes` takes a `CFIndex`, not a `long`.  Because this type is
declared differently on different platforms, desugaring the type can
cause mismatches.  Make the shims match the real declarations in
swift-corelibs-foundation.
2018-02-08 14:28:29 -08:00
practicalswift
b704f1448b [gardening] Improve header consistency 2017-04-12 15:13:11 +02:00
Philippe Hausler
6c26b80e6e [Foundation] Rework the backing storage for CharacterSet to be more performant and bridge correctly to objective-c and CF
Some cases of using isSuperset can cause crashes, this was caused by improper subclassing callouts; this pr resolves those failures (and provides unit tests for that case)
The cases where the bridge was traversed too much now only causes a single bridge out call (without needing to reallocate or thrash retain/release)
String.components(separatedBy: CharacterSet) should be considerably faster now not only for more apporpriate bridging calls but also no longer needing to bridge arrays back and forth.

Resolves the following issues:
rdar://problem/17281998
rdar://problem/26611771
rdar://problem/29738989
2017-03-31 11:06:38 -07:00