[stdlib] Kill O(N) bridging [SomeClass] to ObjC

There's no need for a deferred conversion in these cases.
This commit is contained in:
Dave Abrahams
2016-07-12 18:28:37 -07:00
parent 35dd2462f4
commit 63f2ec24e4
2 changed files with 68 additions and 99 deletions

View File

@@ -433,8 +433,10 @@ struct _ContiguousArrayBuffer<Element> : _ArrayBufferProtocol {
_isBridgedToObjectiveC(Element.self),
"Array element type is not bridged to Objective-C")
if count == 0 {
return _SwiftDeferredNSArray(
_nativeStorage: _emptyArrayStorage)
return _emptyArrayStorage
}
if _isBridgedVerbatimToObjectiveC(Element.self) {
return _storage
}
return _SwiftDeferredNSArray(_nativeStorage: _storage)
}