Itai Ferber
6171d68bfa
Merge pull request #25065 from ikesyo/fix-dataprotocol-lastrange
...
Fix `DataProtocol.lastRange(of:)` (and cherry-pick Data.swift changes from swift-5.0-branch)
2019-05-28 09:54:16 -07:00
Sho Ikeda
a35c9f0c60
[gardening] Use Collection.isEmpty over Collection.count
2019-05-26 09:35:20 +09:00
swift-ci
b088acb66e
Merge pull request #24767 from ikesyo/remove-unnecessary-breaks
2019-05-25 16:15:06 -07:00
Sho Ikeda
55b300f852
Fix DataProtocol.lastRange(of:) (and cherry-pick Data.swift changes from swift-5.0-branch)
...
`DataProtocol.lastRange(of:)` is correct in swift-5.0-branch, but not in master and swift-5.1-branch.
2019-05-26 07:26:33 +09:00
Sho Ikeda
6eead16283
[gardening] Remove unnecessary breaks
2019-05-15 00:54:33 +09:00
Philippe Hausler
02c55f372c
Avoid O(n) copies when bridgable NSData objects are available
2019-04-04 09:33:17 -07:00
Itai Ferber
7ce6f840d1
Fix off-by-one when initializing Data with discontiguous, underestimated sequences
2019-03-12 14:26:58 -07:00
Mike Ash
a2cd889ab3
[Stdlib] Fix botched merge conflict resolution in Data.swift.
2019-01-15 13:43:20 -05:00
Mike Ash
fa5888fb3f
[Stdlib][Overlays] Rename various classes to avoid conflicting ObjC names.
...
Old Swift and new Swift runtimes and overlays need to coexist in the same process. This means there must not be any classes which have the same ObjC runtime name in old and new, because the ObjC runtime doesn't like name collisions.
When possible without breaking source compatibility, classes were renamed in Swift, which results in a different ObjC name.
Public classes were renamed only on the ObjC side using the @_objcRuntimeName attribute.
This is similar to the work done in pull request #19295 . That only renamed @objc classes. This renames all of the others, since even pure Swift classes still get an ObjC name.
rdar://problem/46646438
2019-01-15 12:21:20 -05:00
Itai Ferber
70f5e4ce2d
Remove unnecessary @inlinable annotations on hash(into:)
2019-01-11 11:09:12 -08:00
Itai Ferber
076effdf5d
Correct buffering in .init<S> and .append<S> and add unit test
2019-01-11 10:14:27 -08:00
Itai Ferber
1b5c0189b1
Account for Int vs. UInt8 in InlineData.hash(into:)
2019-01-10 15:50:56 -08:00
Itai Ferber
bb5ab742d5
Add buffering to worst-case scenarios in Data.init<S>/.append<S>
2019-01-10 15:50:32 -08:00
Itai Ferber
e49da4dc49
Refine inlinability of Data and Data.Iterator
2019-01-09 15:02:46 -08:00
Itai Ferber
1de88a3916
Refine inlinability of _Representation
2019-01-09 14:48:47 -08:00
Itai Ferber
123b06787d
Refine inlinability of LargeSlice and RangeReference
2019-01-09 14:40:48 -08:00
Itai Ferber
03dd2a365a
Annotate inlinability of InlineSlice
2019-01-09 14:34:08 -08:00
Itai Ferber
b1e4c56d73
Refine inlinability of InlineData
2019-01-09 14:23:58 -08:00
Itai Ferber
6482c34077
Refine inlinability of _DataStorage
2019-01-09 14:18:33 -08:00
Itai Ferber
1d00e3c9b7
Migrate Data from hashValue to hash(into:)
2019-01-09 14:00:20 -08:00
Philippe Hausler
9e9a791e94
Revert "[Foundation] Fallback to presuming 32-bit platforms if we dont explicitly know that it is 64 bit; this allows for better portability ( #21290 )"
...
This reverts commit 77c7a69ae2 .
2018-12-13 15:19:57 -08:00
Philippe Hausler
77c7a69ae2
[Foundation] Fallback to presuming 32-bit platforms if we dont explicitly know that it is 64 bit; this allows for better portability ( #21290 )
2018-12-13 12:39:52 -08:00
Philippe Hausler
d030354320
Initial draft of DataProtocol ContiguousCollection and new inline Data
2018-12-11 11:19:36 -08:00
Saleem Abdulrasool
41d9c2cc59
stdlib: restructure for OS family layout of SDK overlay
...
The SDK directory is now confusing as the Windows target also has a SDK
overlay. In order to make this more uniform, move the SDK directory to
Darwin which covers the fact that this covers the XNU family of OSes.
The Windows directory contains the SDK overlay for the Windows target.
2018-12-06 11:32:05 -08:00