Stephen Canon
2f015ce574
Conform Float80 to CustomReflectable. ( #18577 )
...
Fixes SR-8492.
2018-08-08 19:34:17 -04:00
Mox Soini
c66e136c18
Improve documentation for compactMapValues() of Dictionary ( #18547 )
2018-08-08 00:25:49 -05:00
Nate Cook
efb0415a61
[stdlib] More documentation revisions ( #18263 )
...
- Fix error in `last(where:)` example
- Improve MemoryLayout, UnsafePointer, and integer operator discussions
- Clean up ranges and random APIs
- Revisions to overflow operators and the SignedNumeric requirements
- Standardize on 'nonoptional' in remaining uses
2018-08-08 00:25:09 -05:00
Xiaodi Wu
0dcaff99eb
Merge pull request #18511 from xwu/simplify-fp-int-conversion
...
[stdlib] Simplify concrete floating-point-to-integer conversion
2018-08-07 23:02:59 -04:00
Xiaodi Wu
c2ed788dad
[stdlib] Restore rounding-based test of numeric conversion exactness
2018-08-07 21:29:51 -04:00
eeckstein
1ccad42482
Merge pull request #18520 from eeckstein/utf8iterator
...
stdlib: mark the UTF8View iterator's next function as inline-always.
2018-08-06 13:38:16 -07:00
swift-ci
71f0248b0a
Merge remote-tracking branch 'origin/master' into master-next
2018-08-06 11:07:55 -07:00
Erik Eckstein
93e7786161
stdlib: mark the UTF8View iterator's next function as inline-always.
...
This speeds up C-String handling
rdar://problem/42247427
2018-08-06 10:28:32 -07:00
Xiaodi Wu
44f02a2fd1
[stdlib] Simplify fp-to-int and int-to-fp conversion
2018-08-04 15:36:38 -04:00
Michael Ilseman
8294c0003a
[string] Drop _StringGuts subscript; NFC
...
_StringGuts shouldn't expose a subscript, implying efficient
access. Switch to the explicit code unit fetch method. Update tests
accordingly, and switch off of deprecated typealiases.
2018-08-02 16:34:22 -07:00
Michael Ilseman
ced2e63d95
[test] Make string internal testing a little more robust; NFC
...
Add an isSmall query to Character so testing doesn't have to bake in
internal format. Clarify the purpose of the invalid UTF-16 backdoor
creation method.
2018-08-02 16:34:19 -07:00
swift-ci
84909c68db
Merge remote-tracking branch 'origin/master' into master-next
2018-08-02 13:29:01 -07:00
Michael Ilseman
336ae86bc5
[string] Un-break Linux build
2018-08-02 10:17:03 -07:00
Michael Ilseman
ba6158d74e
[test] Internalize _StringGuts; Add shared testing struct; NFC
...
Create a _StringRepresentation struct to standardize internal testing
on. Internalize much of _StringGuts, except for some SPI hacks, and
update tests to use _StringRepresentation.
2018-08-01 14:23:56 -07:00
Michael Ilseman
1859ae404a
[test] Internalize SmallString; NFC
2018-08-01 14:23:56 -07:00
swift-ci
bf137ae65b
Merge remote-tracking branch 'origin/master' into master-next
2018-07-31 18:59:26 -07:00
Michael Ilseman
d3f7a1615b
[stdlib] Eviscerate MigrationSupport String impl
...
Remove many of the implementations of obsoleted String functionality
by replacing it with unreachable. A few remain temporarily until the
Foundation overlay can be updated.
Also, update TestJSONEncoder.swift off of deprecated functionality.
2018-07-31 15:42:22 -07:00
swift-ci
8247c2ba15
Merge remote-tracking branch 'origin/master' into master-next
2018-07-30 13:09:54 -07:00
Joe Groff
f8e5ebe873
Merge pull request #18299 from jckarter/enable-key-path-resilience
...
Enable key path resilience.
2018-07-30 13:00:43 -07:00
swift-ci
be19f650fd
Merge remote-tracking branch 'origin/master' into master-next
2018-07-30 10:08:59 -07:00
swift-ci
37faf21f51
Merge pull request #18289 from Dante-Broggi/patch-6
2018-07-30 10:04:35 -07:00
swift-ci
be42f56e2c
Merge remote-tracking branch 'origin/master' into master-next
2018-07-27 17:19:18 -07:00
Doug Gregor
ee1713ce67
[Standard library] Break up another “large” expression.
...
Bitwise arithmetic is a killer for the type checker :(. Shave off another
half second of typecheck time in the standard library.
2018-07-27 15:37:59 -07:00
Doug Gregor
6ffcbc5eff
[Standard library] Faster formulation for the _HasherTailBuffer sanity check
2018-07-27 15:37:59 -07:00
Doug Gregor
fa9a24538f
[Standard library] Ascribe types to some literals to improve typecheck time.
...
One expression in the new hashing implementation is going exponential,
accounting for a huge amount of type-checking type. Add (admittedly ugly)
“as UInt64” annotations to greatly reduce the time to type-check this
expression.
*Ahem* type-checking time for the standard library goes from 24s->14s with
this change. Added a type-checker “slow” performance test and captured
the problem in rdar://problem/42672946.
2018-07-27 14:10:49 -07:00
Joe Groff
b89ed05148
KeyPaths: Followup fix for computed component size
2018-07-27 13:16:14 -07:00
Joe Groff
c4806b5889
KeyPaths: Centralize alignment manipulations in helpers.
2018-07-27 13:15:49 -07:00
Joe Groff
f01c731a6b
KeyPaths: Fix alignment skew issue when key path pattern ends with a less-than-pointer-aligned element.
2018-07-27 13:15:49 -07:00
Dante Broggi
6e5b471aad
"if is RandomAccessCollection" is unnecessary
...
* remove the performance qualifiers on API redeclared from `Collection`, because they are necessarily satisfied.
2018-07-27 14:28:21 -04:00
swift-ci
f2623b8659
Merge remote-tracking branch 'origin/master' into master-next
2018-07-26 10:29:20 -07:00
Max Moiseev
26790d0c72
Merge pull request #18165 from moiseev/bidirectional-decls
...
[stdlib] Explicitly declare Collection requirements on child protocols
2018-07-26 10:15:16 -07:00
swift-ci
87fc9d2cf8
Merge remote-tracking branch 'origin/master' into master-next
2018-07-26 00:49:24 -07:00
swift-ci
128d33cb85
Merge pull request #18169 from ravikandhadai/InconsistentUnreachWarning
2018-07-26 00:37:33 -07:00
swift-ci
a39a50d142
Merge remote-tracking branch 'origin/master' into master-next
2018-07-25 21:09:25 -07:00
Joe Groff
665bcb99a5
Merge pull request #18100 from jckarter/keypath-external-irgen
...
IRGen and runtime support for key path resilience.
2018-07-25 21:04:40 -07:00
swift-ci
e5e4bab96e
Merge remote-tracking branch 'origin/master' into master-next
2018-07-25 18:09:16 -07:00
Michael Ilseman
296ee295a1
[gardening] De-gyb Substring; NFC
2018-07-25 15:42:48 -07:00
Maxim Moiseev
7cbfed3f3a
[stdlib] Explicitly declare Collection requirements on child protocols
...
Fixes: <rdar://problem/42408692> and SR-8022
2018-07-25 15:12:40 -07:00
Michael Ilseman
ba591b3f3c
[stdlib] Drop some inlinability annotations.
...
ThreadLocalStorage is not accessible in an inlinable context, so drop
all such annotations. Also, drop a redundant one from Optional to
suppress a warning.
NFC
2018-07-25 15:04:48 -07:00
Joe Groff
4098aa02c7
KeyPaths: Support instantiating property descriptors with captured arguments.
2018-07-25 14:28:33 -07:00
Michael Ilseman
463e3747a8
[gardening] Factor out String bidi conformance
...
Add StringCharacterView.swift for String's bidi conformance. NFC.
2018-07-25 14:14:37 -07:00
Michael Ilseman
2195cda3ec
[gardening] Rename StringUTFx.swift to StringUTFxView.swift
2018-07-25 14:09:45 -07:00
Michael Ilseman
4a66c4719f
[gardening] Move string creation internals to StringCreate.swift
...
NFC
2018-07-25 14:05:46 -07:00
Ravi Kandhadai
81fad3c367
[Stdlib] Make the comparison operators (<, >, <= and >=) on concrete Int types transparent.
...
This makes all operators symmetric, and makes constant folding
and unreachable code analysis more precise and consistent.
<rdar://39516135>
2018-07-25 12:02:02 -07:00
Joe Groff
fceea87bf4
KeyPaths: Support instantiating generic property descriptors from concrete contexts.
...
This is a bit easier than the fully general case where both the external descriptor and local pattern have captured arguments (because of generics or subscript indices) since we don't have to combine the two argument files in one component.
2018-07-25 11:09:04 -07:00
Joe Groff
02fa6311ae
KeyPaths: Centralize some flag testing logic.
2018-07-25 11:09:04 -07:00
Joe Groff
36882aae7a
Remove test/stdlib/KeyPathImplementation test.
...
This was useful for bringup before compiler support for building key path patterns was implemented, but now it just hardcodes a bunch of implementation details that expose some internal details as ABI and interfere with refactorings. Remove it now that the same functionality is tested at a higher level.
2018-07-25 11:09:04 -07:00
Joe Groff
add80edea9
KeyPaths: Rationalize fragility attributes.
2018-07-25 11:09:04 -07:00
Joe Groff
3b9501a283
KeyPaths: Handle computed property descriptor instantiation w/o indexes or generics.
2018-07-25 11:09:04 -07:00
Joe Groff
e96472807f
KeyPaths: Instantiate external property descriptors for stored properties.
2018-07-25 11:09:04 -07:00