Commit Graph

357 Commits

Author SHA1 Message Date
Max Moiseev e2a825a95c [stdlib] doc comments and minor edits in integers prototype 2016-03-21 15:27:46 -07:00
Max Moiseev 2191ab21c6 [stdlib] WIP a generalized DoubleWidth integer type 2016-03-21 15:27:46 -07:00
Max Moiseev 164f42fe44 [stdlib] new naming applied to arithmetic operators in the integer prototype 2016-03-21 15:26:56 -07:00
practicalswift 1c31e7f99e [gardening] Fix recently introduced typo: "doube" → "double" 2016-03-15 12:01:43 +01:00
Max Moiseev 20f7175234 [stdlib] applying new API guidelines to the prototype 2016-03-14 17:19:17 -07:00
Max Moiseev 5f5b305b68 [stdlib] trimmed integers prototype
Removed support for multiprecision arithmetics.
2016-03-14 17:19:05 -07:00
Greg Titus a11e911f66 Merge pull request #1610 from gregomni/typealias
[Parse/AST/Sema] Split parsing for typealias & associatedtype, allow typealias in protocols and generic constraints
2016-03-13 21:50:01 -07:00
gregomni 1e3ed8bdd0 Split parsing for typealias & associatedtype, and allow typealias in protocols.
Split up parsing of typealias and associatedtype, including dropping a
now unneeded ParseDeclOptions flag.

Then made typealias in a protocol valid, and act like you would
hope for protocol conformance purposes (i.e. as an alias possibly
involved in the types of other func/var conformances, not as a hidden
generic param in itself).

Also added support for simple type aliases in generic constraints. Aliases
to simple (non-sugared) archetype types (and also - trivially - aliases to
concrete types) can now be part of same-type constraints.

The strategy here is to add type aliases to the tree of
PotentialArchetypes, and if they are an alias to an archetype, also to
immediately find the real associated type and set it as the
representative for the PA. Thus the typealias PA node becomes just a
shortcut farther down into the tree for purposes of lookup and
generating same type requirements.

Then the typealias PA nodes need to be explicitly skipped when walking
the tree for building archetype types and other types of requirements,
in order to keep from getting extra out-of-order archetypes/witness
markers of the real associated type inserted where the typealias is
defined.

Any constraint with a typealias more complex than pointing to a single
nested associated type (e.g. `typealias T = A.B.C.D`), will now get a
specialized diagnoses.
2016-03-13 21:44:23 -07:00
practicalswift 24ac89c697 [gardening] Fix formatting for some recently introduced file headers 2016-03-11 07:30:46 +01:00
practicalswift 5b028d0651 [gardening] Fix recently introduced typo: " " → " "
[gardening] Fix recently introduced typo: "a initializer" → "an initializer"
[gardening] Fix recently introduced typo: "charaters" → "characters"
[gardening] Fix recently introduced typo: "fullfilled" → "fulfilled"
[gardening] Fix recently introduced typo: "initalizer" → "initializer"
[gardening] Fix recently introduced typo: "peoperty" → "property"
[gardening] Fix recently introduced typo: "reparing" → "repairing"
[gardening] Fix recently introduced typo: "spilt" → "split"
2016-03-10 11:52:02 +01:00
gregomni 78216b2990 Change all remaining tests that use typealias in a protocol to use associatedtype. 2016-03-09 18:08:52 -08:00
Max Moiseev e48f452a2e Merge remote-tracking branch 'origin/swift-3-api-guidelines' into swift-3-api-guidelines 2016-02-29 12:15:33 -08:00
Max Moiseev a49dab6bf8 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-29 12:08:52 -08:00
Daniel Duan 2bc78b8c09 [stdlib] update for 'inout' adjustment (SE-0031) 2016-02-26 12:02:29 -08:00
Dmitri Gribenko 1f4d8e20ed stdlib: UnicodeScalar.escape() => .escaped() 2016-02-25 14:39:47 -08:00
Jordan Rose b319e3da32 stdlib: Adjust to insert(contentsOf:at:) and append(contentsOf:)
instead of insertContents(of:at:) and appendContents(of:),
originally insertContentsOf(_:at:) and appendContentsOf(_:)
per internal discussion.
2016-02-25 12:50:39 -08:00
Jordan Rose e4e9c71d8f StdlibUnittest: Rename enum cases and static vars to match API guidelines. 2016-02-24 18:23:59 -08:00
Dave Abrahams 64a5165ecf stdlib: deinitializePointee(_) => deinitialize()
Tacking "Pointee" on just for unary operations (and especially
operations with an optional count) created inconsistency.
2016-02-23 15:34:20 -08:00
Dave Abrahams d96b051d28 stdlib: initializePointee(_) => initialize(with:)
Tacking "Pointee" on just for unary operations (and especially
operations with an optional count) created inconsistency.
2016-02-23 15:15:23 -08:00
Max Moiseev 52f0cf49b0 [stdlib] indexOf => index(of:)/index(where:) 2016-02-23 11:45:11 -08:00
Max Moiseev 4b9eab6288 appendContentsOf => appendContents(of:) 2016-02-22 18:02:04 -08:00
Max Moiseev 78ba5d5f3f [stdlib] Requires in comments changed to Precondition 2016-02-19 18:57:26 -08:00
Max Moiseev 40b1a0b7e0 [stdlib] all sorts of require renamed back to precondition 2016-02-19 18:21:29 -08:00
Dmitri Gribenko 593b4cc3d6 stdlib: add first argument label to _failEarlyRangeCheck2() 2016-02-18 17:11:35 -08:00
Dmitri Gribenko 65d840c0ae stdlib: lowercase cases in Optional and ImplicitlyUnwrappedOptional 2016-02-18 00:40:33 -08:00
Dmitri Gribenko dd75aed67a Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-17 14:40:05 -08:00
Dmitri Gribenko a723e0730e CollectionsMoveIndices: add a discussion of impact on the source code 2016-02-16 01:03:59 -08:00
Dmitri Gribenko c59de00b85 CollectionsMoveIndices: wording improvements, added an analysis section
One important advantage is that the proposed model does not prevent
existing viable collection designs from being implemented and trivially
ported, but it allows more efficient designs.
2016-02-16 00:40:00 -08:00
Dmitri Gribenko bf34b047d8 stdlib: lowercase cases of FloatingPointClassification enum 2016-02-15 23:48:02 -08:00
Dmitri Gribenko efaa39ea79 stdlib: add first argument labels and some other changes to conform to API guidelines 2016-02-15 23:47:54 -08:00
Dmitri Gribenko 8aa4dadf92 CollectionsMoveIndices: expand the comment about trees 2016-02-15 16:48:54 -08:00
Max Moiseev 3a3984877a Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-15 15:43:34 -08:00
practicalswift b914fdac6d [gardening] Fix recently introduced typo: "requiremens" → "requirements" 2016-02-11 15:21:08 +01:00
practicalswift ed767f212c [gardening] Fix recently introduced typo: "exmaple" → "example" 2016-02-11 15:20:49 +01:00
Dmitri Gribenko 55f8766919 CollectionsMoveIndices: discuss aspects of implementing tree-based collections
Also, add a WIP binary tree implementation.
2016-02-10 15:27:18 -08:00
Dmitri Gribenko e58ce5ebb7 CollectionsMoveIndices: fix dropFirst() implementation and add tests 2016-02-08 12:01:26 -08:00
Max Moiseev 61c837209b Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-04 16:13:39 -08:00
Chris Lattner 92750511df Convert the last uses of __FILE__ etc in the testsuite over to the new
syntax.  I left the tests for the deprecation warnings in
test/expr/expressions.swift.
2016-02-04 15:41:09 -08:00
David Farler 8a5ed405bf Make var parameters an error for Swift 3
This finishes up revisions to SE-0003 - only var function parameters
are disallowed for Swift 3.
2016-01-30 12:39:17 -08:00
Dmitri Gribenko 3f9d05ec1e CollectionsMoveIndices: unbreak integer ranges in the new ..< overload set 2016-01-29 20:22:43 -08:00
Dmitri Gribenko 005f073792 CollectionsMoveIndices: require indices to implement Comparable 2016-01-29 20:22:42 -08:00
Dmitri Gribenko 41ac806351 CollectionsMoveIndices: eliminate IndexType, it does not have any requirements 2016-01-29 20:22:42 -08:00
Dmitri Gribenko a8223f2510 CollectionsMoveIndices: move Index.Distance to CollectionType, closer to APIs that use it 2016-01-29 20:22:42 -08:00
David Farler 3f635d04c7 Reinstante var bindings in refutable patterns, except function parameters.
This reverts commits: b96e06da44,
                      8f2fbdc93a,
                      93b6962478,
                      64024118f4,
                      a759ca9141,
                      3434f9642b,
                      9f33429891,
                      47c043e8a6.

This commit leaves 'var' on function parameters as a warning to be
merged into Swift 2.2. For Swift 3, this will be an error, to be
converted in a follow-up.
2016-01-29 15:27:08 -08:00
Dmitri Gribenko 614c2d013e CollectionsMoveIndices: remove unused API 2016-01-29 13:50:06 -08:00
Dmitri Gribenko 3df3b17d90 CollectionsMoveIndices: expand the discussion comment 2016-01-28 21:11:49 -08:00
Dmitri Gribenko a9a2cb5fec CollectionsMoveIndices: add more algorithms to the prototype 2016-01-28 21:11:49 -08:00
Dmitri Gribenko 6c1979698a CollectionsMoveIndices prototype: migrate to 'associatedtype' 2016-01-27 14:09:34 -08:00
practicalswift ca9e488f30 [gardening] Add "-*- swift -*-" to *.swift.gyb. Remove from *.swift. 2016-01-23 10:27:03 +01:00
Dmitri Gribenko 9bcd5a1056 Collection.length => .count 2016-01-22 18:41:19 -08:00