Commit Graph

7859 Commits

Author SHA1 Message Date
Dmitri Hrybenko
e253881b02 stdlib: protocol extensions: de-underscore indices
Swift SVN r28245
2015-05-07 00:30:35 +00:00
Dmitri Hrybenko
f76ca6243e stdlib: protocol extensions: de-underscore indexOf()
Swift SVN r28244
2015-05-07 00:30:33 +00:00
Dmitri Hrybenko
25e74d21db stdlib: protocol extensions: de-underscore last
Swift SVN r28243
2015-05-07 00:30:32 +00:00
Dmitri Hrybenko
e96ade89a9 stdlib: protocol extensions: de-underscore isEmpty
Swift SVN r28241
2015-05-07 00:30:29 +00:00
Dmitri Hrybenko
275cfc0545 stdlib: protocol extensions: de-underscore underestimateCount()
Swift SVN r28240
2015-05-07 00:30:28 +00:00
Dmitri Hrybenko
97db2def53 stdlib: protocol extensions: de-underscore flatMap()
Swift SVN r28239
2015-05-07 00:30:27 +00:00
Dmitri Hrybenko
a474641f66 stdlib: protocol extensions: de-underscore reverse()
Swift SVN r28238
2015-05-07 00:30:26 +00:00
Dmitri Hrybenko
035d72d5a7 stdlib: protocol extensions: de-underscore contains()
Swift SVN r28236
2015-05-07 00:30:24 +00:00
Dmitri Hrybenko
78d1196f33 stdlib: protocol extensions: de-underscore elementsEqual
Swift SVN r28234
2015-05-07 00:30:22 +00:00
Dmitri Hrybenko
7e9063a4af stdlib: protocol extensions: de-underscore enumerate()
Swift SVN r28231
2015-05-07 00:30:12 +00:00
Joe Pamer
3b57cabae7 Consider default argument patterns, as they relate to actual arguments, when deciding on a specific overload to favor for a function application. Doing so addresses another class of exponential behavior bugs in the type checker (rdar://problem/19779591 and rdar://problem/20772053). There's still some work left to do, though - hence the change to Concatenate.swift, to work around rdar://problem/20789500.
Swift SVN r28221
2015-05-06 22:32:07 +00:00
Roman Levenstein
984fcef576 Produce an error for generic parameters of functions if those parameters are not used in function signature.
If a generic parameter is not referred to from a function signature, it can never be inferred and thus such a function can never be invoked.

We now produce the following error:

generic parameter 'T' is not used in function signature
func f8<T> (x: Int) {}

This commit takes Jordan't comments on r28181 into account:
- it produces a shorter error message
- it does not change the compiler_crashers_fixed test and add a new expected error instead

Swift SVN r28194
2015-05-06 02:20:39 +00:00
Roman Levenstein
a3a25000ff Revert "Produce an error for generic parameters of functions if those parameters are not used in function signature."
This reverts commit r28181. I'll change it according to Jordan's comments and re-commit.

Swift SVN r28193
2015-05-06 02:20:36 +00:00
Roman Levenstein
ebe3fddbe6 Produce an error for generic parameters of functions if those parameters are not used in function signature.
If a generic parameter is not referred to from a function signature, it can never be inferred and thus such a function can never be invoked.

We now produce the following error:

There is no way to infer the generic parameter 'T' if it is not used in function signature
func f8<T> (x: Int) {}
             ^

Swift SVN r28181
2015-05-05 21:02:11 +00:00
Chris Lattner
7724e92955 this test is fixed.
Swift SVN r28109
2015-05-04 04:01:45 +00:00
Chris Lattner
f3416ab719 fix a bug introduced in r28104: we need to create a PBD to hold the vardecls
we parsed, otherwise the type checker gets confused later.  This fixes these
regressions:

    Swift :: compiler_crashers_fixed/0725-swift-type-walk.swift
    Swift :: compiler_crashers_fixed/0742-swift-metatypetype-get.swift
    Swift :: compiler_crashers_fixed/1501-swift-diagnosticengine-flushactivediagnostic.swift
    Swift :: compiler_crashers_fixed/1705-vtable.swift

Also, that patch fixed 0791-swift-type-walk.swift, so mark it as not crashing.


Swift SVN r28108
2015-05-04 04:01:28 +00:00
Dmitri Hrybenko
e5e4b38808 Eliminate a use of println() where it is irrelevant
Swift SVN r28093
2015-05-03 04:09:34 +00:00
Slava Pestov
1c64eee1c4 Add testcase for <rdar://18996669> which seems to be fixed already
Swift SVN r28091
2015-05-02 19:31:29 +00:00
Doug Gregor
e4f2cef6f7 Eliminate archetypes from interface types.
The culprit happened to be a type representation cloner for tuple type
representations that didn't actually clone anything. Introduce an
AST-level verifier that makes sure we catch any archetypes that slip
into interface types earlier in the future.

Fixes rdar://problem/18796397 and the three dupes I've found so far.

Swift SVN r28080
2015-05-02 05:28:57 +00:00
Dmitri Hrybenko
b08a57f752 stdlib tests: fix coding style
Swift SVN r28071
2015-05-02 03:33:10 +00:00
John McCall
0388c87613 Fix validation tests for error-handling import.
Swift SVN r28070
2015-05-02 02:46:34 +00:00
Dave Abrahams
4ce1891cae [stdlib] String is no longer a SequenceType
<rdar://20494686>

String itsef should only expose Unicode-correct algorithms, like proper
substring/prefix/suffix search, enumerating words/lines/paragraphs, case
folding etc. Promoting sequence-centric algorithms to methods on String
is not acceptable since it invites users to write wrong code. Thus,
String has to lose its SequenceType conformance.

Nevertheless, we recognize that sometimes it is useful to manipulate the
String contents on lower levels (UTF-8, UTF-16, Unicode scalars,
extended grapheme clusters), for example, when implementing high-level
Unicode operations, so we can't remove low-level operations
altogether. For this reason, String provides nested "views" for the
first three low-level representations, but grapheme clusters were in a
privileged position -- String itself is a collection of grapheme
clusters. We propose to add a characters view that will represent the
String as a collection of Character values.

Swift SVN r28065
2015-05-02 01:52:02 +00:00
Ted Kremenek
9f5437e2bc Make 'toInt()' unavailable instead of deprecated.
Swift SVN r28029
2015-05-01 06:25:52 +00:00
Doug Gregor
fbbd834493 Add test case from rdar://problem/20750480, which no longer crashes.
Swift SVN r28027
2015-05-01 05:59:31 +00:00
Doug Gregor
5de47e93dd Remove uses of getProtocols() from serialization.
NFC except for having to work around the brokenness of
-enable-source-import in more places.

Swift SVN r27979
2015-04-30 16:13:45 +00:00
Doug Gregor
d0282e0d62 Switch the AST printer over to getLocalProtocols().
Swift SVN r27968
2015-04-30 16:13:37 +00:00
Arnold Schwaighofer
e514ef80fd validation-test: Fix test case to use changed let syntax
Swift SVN r27966
2015-04-30 14:39:08 +00:00
Chris Lattner
31c01eab73 Change the meaning of "if let x = foo()" back to Xcode 6.4 semantics. The compiler
includes a number of QoI things to help people write the correct code.  I will commit
the testcase for it as the next patch.

The bulk of this patch is moving the stdlib, testsuite and validation testsuite to
the new syntax.  I moved a few uses of "as" patterns back to as? expressions in the 
stdlib as well.



Swift SVN r27959
2015-04-30 04:38:13 +00:00
Dmitri Hrybenko
ea344fc49a tests: use println() instead of print() with a "\n"
Swift SVN r27920
2015-04-29 21:29:59 +00:00
Chris Willmore
6849d8d7bc Only run 20740573 test case if ObjC interop is available.
Swift SVN r27916
2015-04-29 18:25:04 +00:00
Chris Willmore
2d4bcfc0f9 Add test case from 20740573, fixed by r27901.
Swift SVN r27912
2015-04-29 17:12:53 +00:00
Dmitri Hrybenko
b5d0896828 Un-XFAIL a SceneKit testcase, the blocking issue is fixed
The whole file is still disabled though, because the fix hasn't been
integrated yet.

Swift SVN r27910
2015-04-29 16:55:34 +00:00
Dmitri Hrybenko
dbf1daeb0a Finish the SceneKit overlay for -[SCNSceneSource entryWithIdentifier:withClass:]
rdar://20384835

Swift SVN r27899
2015-04-29 02:22:31 +00:00
Dmitri Hrybenko
4d197dc5b2 Revert "stdlib: change sort() and sorted() into methods"
This reverts commits r27885, r27876.  It looks like they broke iOS on
arm64.

Swift SVN r27893
2015-04-28 23:58:50 +00:00
Dmitri Hrybenko
b05c372c4f stdlib: change sort() and sorted() into methods
Swift SVN r27876
2015-04-28 18:05:37 +00:00
Dmitri Hrybenko
fd14e70e48 stdlib: rename find() to indexOf() per API review
Swift SVN r27849
2015-04-28 00:30:37 +00:00
Doug Gregor
292f57a567 Revert "Add already-fixed test from rdar://problem/20549848."
This reverts r27824; it's redundant since the radar was a dupe.

Swift SVN r27828
2015-04-27 23:02:45 +00:00
Doug Gregor
dfd7ccbb5f Test case from rdar://problem/20588474.
Swift SVN r27826
2015-04-27 22:55:48 +00:00
Doug Gregor
d3d5e9bfd9 Add already-fixed test from rdar://problem/20549848.
Swift SVN r27824
2015-04-27 22:55:45 +00:00
Chris Lattner
20c74c4d32 update validation tests for improved diagnostics.
Swift SVN r27794
2015-04-27 01:00:40 +00:00
Dmitri Hrybenko
f6090c1c89 stdlib: make CollectionType._prext_isEmpty dynamically dispatched
This change makes isEmpty faster for Dictionary and Set, when invoked
from generic algorithms.

Swift SVN r27736
2015-04-26 00:08:14 +00:00
Dmitri Hrybenko
bc50b2f58d stdlib: stop using CFSetCreateCopy() in set bridging
Use -[NSSet copyWithZone:] instead.

CFSetCreateCopy() is buggy in OSes that ship today: it copies the set
unconditionally, even if it is immutable, resulting in O(n) bridging.

Swift SVN r27733
2015-04-26 00:08:13 +00:00
Dmitri Hrybenko
ba6920e69d stdlib: stop using CFDictionaryCreateCopy() in dictionary bridging
Use -[NSDictionary copyWithZone:] instead.

CFDictionaryCreateCopy() is buggy in OSes that ship today: it copies the
dictionary unconditionally, even if it is immutable, resulting in O(n)
bridging.

Swift SVN r27732
2015-04-26 00:08:12 +00:00
Dmitri Hrybenko
ce95ac26cd stdlib: adjust _NSDictionaryCoreType to match Foundation nullability audit
Swift SVN r27729
2015-04-26 00:08:10 +00:00
Doug Gregor
b2cc34c241 Remove '#' for making parameter names into argument labels.
If you want to make the parameter and argument label the same in
places where you don't get the argument label for free (i.e., the
first parameter of a function or a parameter of a subscript),
double-up the identifier:

  func translate(dx dx: Int, dy: Int) { }

Make this a warning with Fix-Its to ease migration. Part of
rdar://problem/17218256.

Swift SVN r27715
2015-04-24 23:58:57 +00:00
Doug Gregor
0523a09560 Update validation testsuite for the argument label default changes.
Swift SVN r27706
2015-04-24 20:31:43 +00:00
Dmitri Hrybenko
7e73f16ba5 The crash test #0272 passes on Linux, annotate it as such
Swift SVN r27578
2015-04-22 08:50:21 +00:00
Dmitri Hrybenko
8bf1deedb0 The ErrorType race test requires ObjC runtime
Swift SVN r27577
2015-04-22 08:50:20 +00:00
Doug Gregor
78cc7b75f8 Basic support for typealiases in protocol extensions.
Handle substitutions properly when a typealias declared in a protocol
extension is used to satisfy an associated type requirement. Fixes
rdar://problem/20564605.

Swift SVN r27490
2015-04-20 20:19:03 +00:00
Doug Gregor
69718f77fa When failing to find a suitable type witness, always record ErrorType.
Fixes the crash in rdar://problem/20564378. In these cases, we end up
swallowing some diagnostics. That will be addressed in a subsequent
commit.

Swift SVN r27436
2015-04-17 18:11:35 +00:00