Commit Graph

2952 Commits

Author SHA1 Message Date
Max Moiseev
76e0a99a37 Merge branch 'master' into new-integer-protocols 2016-10-31 09:29:19 -07:00
Doug Gregor
a66b35d79b [Constraint solver] Allow constraint regeneration when inputs are simplified.
When we process a constraint, the first step is generally to call
getFixedTypeRecursive() to look through type variables. When this
operation actually does non-trivial work, we could save
that result by considering the current constraint "solved" and
generating a new constraint (if needed!) with the simplified types.

This commit adds the infrastructure to do that, because it's important
when getFixedTypeRecursive() starts performing more interesting
substitutions (e.g., handling member types of type
variables). However, enabling for the common case of looking through a
type variable isn't profitable (it's ~2% slower to type-check the
standard library). Stage in this infrastructure change now.
2016-10-31 09:27:22 -07:00
Alexis Beingessner
953e51a97e [stdlib] Handle some outstanding Dictionary indexing-model FIXMEs/TODOs 2016-10-29 10:04:35 -04:00
Alexis Beingessner
b08732cbd4 [stdlib] Update Dictionary comments to reflect new design 2016-10-29 10:04:35 -04:00
Alexis Beingessner
76c6281fea [stdlib] Rewriting native hashed collection indices
Changes:
- Native dictionary and set indices no longer hold references to storage
- Cocoa-based dictionary and set indices no longer hold references to storage
- Removed double indirection trick from hashed collections
- Rewrote storage types to reflect simpler model
- Updated unit tests
2016-10-29 10:04:35 -04:00
practicalswift
cc852042c9 [gardening] Fix accidental trailing whitespace. 2016-10-29 10:22:58 +02:00
Max Moiseev
3d4f00091d Merge remote-tracking branch 'origin/master' into new-integer-protocols 2016-10-28 15:55:40 -07:00
Max Moiseev
c9119fc15c Commenting out some checks pending optimizer work 2016-10-28 15:49:53 -07:00
Max Moiseev
c5a36a3f27 Adding a temporary workaround for a missing optimizer feature 2016-10-28 15:28:32 -07:00
Max Moiseev
7fa5aa5e21 Commenting out the arithmetic operators on concrete types 2016-10-27 11:58:02 -07:00
Ben Cohen
fbed646d82 Merge pull request #5483 from airspeedswift/buffer-protocol
[stdlib] Make various free functions mutating an _ArrayBufferProtocol into extensions. Resolves ABI FIXME #14
2016-10-27 11:38:54 -07:00
Ben Cohen
3f534c254d Merge pull request #5485 from airspeedswift/expectEnd-labels-fixme
[stdlib] Add arg labels to _expectEnd (ABI FIXME #15)
2016-10-26 18:03:51 -07:00
Max Moiseev
ce5d7e8cef Adding a few missing operators 2016-10-26 16:15:34 -07:00
Ben Cohen
81473386df added arg labels to _expectEnd 2016-10-26 12:58:44 -07:00
Ben Cohen
77e13e042e Remove the FIXME that led to this PR 2016-10-26 12:10:42 -07:00
Ben Cohen
f428a16635 tweaked local var names to avoid confusion with self's properties 2016-10-26 12:09:33 -07:00
Ben Cohen
91fa717715 move _arrayAppendSequence to an extension on _ArrayBufferProtocol 2016-10-26 10:21:10 -07:00
Ben Cohen
acb317c308 remove Index == Int constraints by adding missing endIndex: { get } 2016-10-26 10:15:01 -07:00
Ben Cohen
b35f1d10f3 remove some unnecessary self's 2016-10-26 09:21:37 -07:00
Ben Cohen
35d2392d7d Change _ArrayBuffer.replace(subRange:) to replaceSubrange to match RangeReplaceableCollection 2016-10-26 09:19:50 -07:00
Ben Cohen
f0d8ca83ad FIXME(ABI)#14 : add argument labels to _arrayOutOfPlaceReplace 2016-10-26 08:52:58 -07:00
Joe Shajrawi
d49a246063 Merge pull request #5455 from shajrawi/inline_arr_access
always inline Array's getters and setters
2016-10-25 19:26:11 -07:00
Ben Cohen
3cc9b7f337 move _arrayOutOfPlaceReplace into _ArrayBufferProtocol extension 2016-10-25 16:36:28 -07:00
Ben Cohen
3752e6dae4 move _outlinedMakeUniqueBuffer and _arrayReserve into _ArrayBufferProtocol extension 2016-10-25 16:29:48 -07:00
Ben Cohen
6e841e0215 move _forceCreateUniqueMutableBuffer{Impl} into _ArrayBufferProtocol extension 2016-10-25 16:22:10 -07:00
Ben Cohen
b57b5bb222 move _forceCreateUniqueMutableBuffer{Impl} into _ArrayBufferProtocol extension 2016-10-25 16:18:07 -07:00
Joe Shajrawi
103ac620d6 always inline Array's getters and setters 2016-10-25 16:16:00 -07:00
Ben Cohen
e0a31a9a6e move _arrayOutOfPlaceUpdate into _ArrayBufferProtocol extension 2016-10-25 15:14:19 -07:00
Philip Ridgeway
e866fb4eac Fixes error in flatMap documentation comment.
This fixes an error in the example code in the documentation comment for flatMap.
2016-10-25 12:54:59 -07:00
Brian Gesiak
61868b5aec [CMake] Updates for Android NDK r13
Fixes the Android build, and makes some adjustments for Android NDK r13.

* Fix FindICU.cmake to properly set the `SWIFT_${sdk}_ICU_UC` and
  `SWIFT_${sdk}_ICU_I18N` values. These were not properly set because
  "uc" and "i18n" were lowercase.
* Adapt `add_swift_library` to parse `ICU_UC` and `ICU_I18N` for
  private link libraries and use the proper `SWIFT_${sdk}_ICU_*` values.
* NDK r13 removes a subdirectory from the llvm-libc++ includes path.
  Adapt to this change, and add a FIXME to address this issue before it
  may break again.
* Update the documentation to point to a new libicu download for NDK 13.
2016-10-24 15:17:20 -07:00
Max Moiseev
6935316638 Merge branch 'master' into new-integer-protocols 2016-10-24 14:54:21 -07:00
Max Moiseev
bf7f17e60c Obsoleted concrete type overloads for integer arithemtic operators 2016-10-24 14:53:23 -07:00
Max Moiseev
d2851584fc Operators from free functions to static methods 2016-10-24 11:40:37 -07:00
Slava Pestov
28764374a6 stdlib: Remove workaround for rdar://15520519, resolving ABI FIXME#141 2016-10-24 02:16:21 -07:00
Slava Pestov
af8d13e9d3 stdlib: Make UnicodeDecodingResult fixed-layout 2016-10-24 02:16:20 -07:00
Max Moiseev
62044dec5e Different Strideable conformances for Swift 3 and Swift 4 2016-10-20 16:53:41 -07:00
Max Moiseev
8e109de9a2 Using Strideable APIs instead of + and - 2016-10-20 16:29:21 -07:00
Max Moiseev
01ec7479c6 Adding back accidentally deleted UnsignedInteger protocol 2016-10-20 14:28:25 -07:00
Max Moiseev
8912dc09a8 Merge branch 'master' into new-integer-protocols 2016-10-20 13:55:03 -07:00
Max Moiseev
3dcdd1a2c8 Get rid of _DisallowMixedSignArithmetic 2016-10-20 13:53:41 -07:00
Max Moiseev
47ba2e9bd9 Turning more operators into static funcs 2016-10-20 13:53:18 -07:00
Ada Turner
1c2a17637a Fix typo in Bool.swift
Fix typo in documentation where the "Prints <result>" comment had a parenthesis at the end, probably from coping and pasting out of the code example.
2016-10-19 15:55:12 -06:00
Max Moiseev
196ea9522d Avoiding the force unwrap in UnsafePointer.count 2016-10-19 14:53:22 -07:00
Max Moiseev
e3a2e5b40b Minor fixes and improvements 2016-10-19 14:52:47 -07:00
Max Moiseev
a9af3d6944 Choosing the right overloads for comparison operators 2016-10-19 14:51:38 -07:00
Max Moiseev
543fd10ccb Comparable operators to static funcs 2016-10-19 14:50:54 -07:00
Dave Abrahams
22f5dfa50a Merge pull request #5264 from shajrawi/idasany_perf
improve set's conditional downcast performance by over 2X
2016-10-19 12:13:02 -07:00
Dave Abrahams
76b5afcc4a Speed up Set/Dictionary init from Sequence
Alternative to #5264
2016-10-19 10:23:22 -07:00
swift-ci
cbce7854b8 Merge pull request #5333 from LouisDhauwe/master 2016-10-18 16:18:38 -07:00
Louis D'hauwe
f9cd8b129d Updated popLast() and removeLast() documentation. 2016-10-18 21:29:01 +02:00