Ben Cohen
4ddac3fbbd
[stdlib] Eradicate IndexDistance associated type ( #12641 )
...
* Eradicate IndexDistance associated type, replacing with Int everywhere
* Consistently use Int for ExistentialCollection’s IndexDistance type.
* Fix test for IndexDistance removal
* Remove a handful of no-longer-needed explicit types
* Add compatibility shims for non-Int index distances
* Test compatibility shim
* Move IndexDistance typealias into the Collection protocol
2017-12-08 12:00:23 -08:00
Ben Cohen
a70e857d59
[stdlib] Fix issue with UTF16 index(_:offsetBy:limitedBy) ( #12378 )
...
* Fix issue with empty string ranges
* Add tests for basic offsetBy operation on UTF16View.Index
2017-10-16 13:44:51 -07:00
Max Moiseev
a24998a5b1
[stdlib] Add missing @_fixed_layout attributes to fix resilience build
2017-10-02 15:19:06 -07:00
Max Moiseev
53b8419279
[stdlib] Make all the stdlib APIs @_inlineable
...
This change in theory should allow us to remove a special stdlib-only
sil-serialize-all compilation mode.
<rdar://problem/34138683>
2017-09-29 11:26:56 -07:00
Nate Cook
050268d876
[stdlib] Documentation revisions
...
- Update NSRange -> Range guidance
- Fix example in Optional
- Improve RangeExpression docs
- Fix issue in UnsafeRawBufferPointer.initializeMemory
- Code point -> scalar value most places
- Reposition the dot above the scripty `i'
- Fix ExpressibleByArrayLiteral code sample
2017-08-29 09:41:55 -05:00
Nate Cook
a51e32ad37
[stdlib] String API revisions
...
- Clarify StringProtocol conformance
- Deprecate ExpressibleByStringInterpolation
- String index conversions docs
- Describe shared string indices
2017-07-31 10:56:54 -05:00
Dave Abrahams
41c53ae729
[stdlib] Give Substring its own views
...
This necessary for ensuring the property that String doesn't keep
inaccessible memory alive. For example, before this change,
String(s.dropFirst().unicodeScalars)
would compile and produce a String that owned inaccessible memory.
Now it no longer compiles.
String's view's SubSequences are the same as the Substring's
view. E.g. String.UnicodeScalarView.SubSequence is
Substring.UnicodeScalarView.
New compatibility inits added, to work around the fact that many
previously failable initializers are now non-failable.
2017-07-26 15:59:51 -07:00
swift-ci
92898618cb
Merge pull request #10982 from apple/stdlib-swift4-modernization
2017-07-20 18:56:23 -07:00
Dave Abrahams
c497969987
[stdlib] Swift4 Modernizations Compatible with Swift 3.2
2017-07-14 17:54:33 -07:00
Dave Abrahams
38828872b9
[stdlib] Add missing unwraps for backward compatibility
...
Otherwise, the result would have been an infinite recursion.
2017-07-14 15:30:06 -07:00
Dave Abrahams
9159239995
Un-revert "[stdlib] String index interchange, etc." ( #10812 )
...
I failed to merge the upstream changes to swift-corelibs-foundation at the same
time as I merged that #9806 , and it broke on linux. Going to get it right this
time.
2017-07-07 12:13:25 -07:00
Xi Ge
d9fb110674
Revert "[stdlib] String index interchange, etc." ( #10812 )
...
rdar://33186295
2017-07-07 12:03:16 -07:00
Dave Abrahams
b1d2f4c68e
[stdlib] String index interchange, part III (UTF8)
2017-07-07 06:15:24 -07:00
Dave Abrahams
2e0bb2f533
[stdlib] String index interchange, part II (UTF16)
2017-07-07 06:15:23 -07:00
Dave Abrahams
e523c80339
[stdlib] Index interchange, part I
2017-07-07 00:59:04 -07:00
Dave Abrahams
d6fee05375
[stdlib] Enable interchange among StringProtocol models
2017-05-17 17:21:43 -07:00
Nate Cook
f650e0a7da
[stdlib] String and range expressions
...
* finish string documentation revisions
* revise examples throughout to use range expressions instead of e.g.
prefix(upTo: _)
2017-05-13 10:06:12 -05:00
Nate Cook
7fa74f590d
[stdlib] Documentation revisions for string + ranges
...
* removing .characters from examples
* beginning new String doc revisions
* improvements to the String Foundation overlay docs
* minor revisions elsewhere
2017-05-13 10:06:05 -05:00
Max Moiseev
27889c6376
Merge remote-tracking branch 'origin/master' into new-integer-protocols
2017-01-06 15:54:44 -08:00
practicalswift
6d1ae2a39c
[gardening] 2016 → 2017
2017-01-06 16:41:22 +01:00
Max Moiseev
70b2343626
Merge branch 'master' into new-integer-protocols
2016-11-28 15:25:01 -08:00
practicalswift
797b80765f
[gardening] Use the correct base URL ( https://swift.org ) in references to the Swift website
...
Remove all references to the old non-TLS enabled base URL (http://swift.org )
2016-11-20 17:36:03 +01:00
Max Moiseev
f34808be11
using masking shifts
2016-11-14 10:16:28 -08:00
Nate Cook
c2bc72d9d6
[stdlib] Fix string index sharing ( #4896 )
...
* [stdlib] Fix String.UTF16View index sharing
* [stdlib] Fix String.UnicodeScalarView index sharing
* [stdlib] Fix String.CharacterView index sharing
* [stdlib] Test advancing string indices past their ends
* [stdlib] Simplify CharacterView ranged subscript
2016-10-13 10:19:38 -07:00
airspeedswift
ed5231b47c
Numbered all FIXME(ABI) entries for tracking purposes. ( #4868 )
2016-09-19 16:41:41 -07:00
Nicholas Maccharoli
7c94da957e
[stdlib] Simplify constructor for StringUTF16
2016-08-30 20:29:39 +09:00
Robert Widmann
4c2dbe1723
[stdlib][SE-0089] Finish off Lossless String Conversion ( #3761 )
...
* Rename string reflection init
* Addressing PR comments and updating some tests
* Update test suite for lossless string conversion
2016-07-28 17:13:25 -07:00
Nate Cook
58fb4ef9c5
[stdlib] Clean up various documentation issues ( #3804 )
...
* [stdlib] Clean up some documentation formatting
* [stdlib] Update example code for SE-0103
* [stdlib] Fix UnsafeBufferPointer documentation typo
* [stdlib] Collection documentation cleanup
* [stdlib] Fix String.init?(_:UTF16View) description
* [stdlib] Documentation fixes for SE-0091
* [stdlib] Add param info for String(repeating:count:)
2016-07-28 11:25:38 -07:00
Doug Gregor
0bf7c005b3
[SE-0091 Follow-up] Move global operators for non-generic concrete types into the type.
...
In various cases where we had global operators for non-generic
concrete types (such as String + String), move those operators into
the type. This should not affect the sources, but makes the exposition
of the library cleaner.
Plus, it's a good test for the compiler, which uncovered a few issues
where the compiler was coupled with the library.
2016-07-21 12:54:27 -07:00
Nate Cook
c9278a1b50
[stdlib] Remove _StringCore from UTF8View.Index
2016-07-12 09:29:40 -05:00
practicalswift
af9786efc2
[gardening] Remove duplicate words.
2016-06-04 23:16:27 +02:00
Nate Cook
44b2d56a7f
[stdlib] Revise documentation for string-related types
...
This documentation revision covers a large number of types & protocols:
String, its views and their indices, the Unicode codec types and protocol,
as well as Character, UnicodeScalar, and StaticString, among others.
This also includes a few small changes across the standard library for
consistency.
2016-05-22 03:04:22 -05:00
Dmitri Gribenko
d591f9cf7a
stdlib: remove most uses of @warn_unused_result, which does nothing now
...
I kept the one on sorted(), because that one requires a less trivial
change.
2016-05-19 18:39:39 -07:00
Mark Lacey
e03d334b68
Use Builtin.unreachable() in unavailable functions.
...
Saves a bit of code size in the standard library by eliminating some
static strings and function calls.
rdar://problem/25767016
2016-05-02 21:30:25 -07:00
Dave Abrahams
9bee5d182f
[stdlib] location/formLocation => index/formIndex
2016-04-26 17:46:16 -07:00
Dmitri Gribenko
520d4ccccb
stdlib: add ABI fixmes in String
2016-04-21 18:57:05 -07:00
Dave Abrahams
47a870cc50
[stdlib] Use location/formLocation for all index movement
2016-04-21 17:13:41 -07:00
Dmitri Gribenko
735f1287b0
Merge remote-tracking branch 'origin/swift-3-indexing-model' into swift-3-indexing-model
2016-04-14 14:10:27 -07:00
Dmitri Gribenko
10697f939f
Merge commit '510f29abf77e202780c11d5f6c7449313c819030' into swift-3-indexing-model
2016-04-14 13:45:27 -07:00
Max Moiseev
37bf02f7da
[stdlib][swift-3-indexing-model] changes in index(_:stepsFrom:limitedBy:)
...
- index(_:stepsFrom:limitedBy:) returns Index?
- formIndex(_:stepsFrom:limitedBy) returns Bool
2016-04-14 11:49:27 -07:00
Nate Cook
6b77c6a979
[New indexing model] Update documentation comments with new APIs
...
Most of these were successor() -> successor(of:).
2016-04-08 01:01:58 -05:00
Dave Abrahams
da5c4036ac
func index(n: IndexDistance, stepsFrom i: Index)
...
M-x findr-query-replace
\<func advance(\([^(),]*\|[^(),]+([^()]*)[^(),]*\)\(,[
]*\)by \([^(),]*\|[^(),]+([^()]*)[^(),]*\)
func index(\3\2stepsFrom \1
2016-03-28 13:23:04 -07:00
Dave Abrahams
81d3e8ca83
limit: => limitedBy:, pt 2
...
M-x findr-query-replace
\<limit: \([^(),]*\|[^(),]+([^()]*)[^(),]*\))\( *\(?:[^ -]\|-[^>]\)\)
limitedBy: \1)\2
2016-03-28 13:12:02 -07:00
Dave Abrahams
4d651f8fc0
limit: => limitedBy:, pt 1
...
M-x findr-query-replace
\(,[
]*\)limit: \([^(),]*\|[^(),]+([^()]*)[^(),]*\)) ->
\1limitedBy limit: \2) ->
2016-03-28 13:03:59 -07:00
Dave Abrahams
01127b32d5
index(n, stepsFrom: i)
...
M-x findr-query-replace
\<advance(\([^:]+?\),\([
]+\)by: *\([^(),]*\|[^(),]+([^()]*)[^(),]*\)\(,\(?:[
]+\)limit: *\(?:[^()]*\|[^()]+([^()]*)[^()]*\)\)?)
index(\3,\2stepsFrom: \1\4)
2016-03-25 17:54:39 -07:00
Dave Abrahams
11259d1d14
[stdlib] indexing model: rename in-place indexing
...
This time, choose something that's at least compliant with the API
guidelines.
2016-03-23 17:16:20 -07:00
Dave Abrahams
8d9e62b274
[stdlib] indexing model: rename next/previous
...
I'm not too satisfied with the names for the updating: versions, but
this is a start.
2016-03-22 17:13:54 -07:00
Dmitri Gribenko
d9a2b45449
New indexing model: tighten requirements on *Collection.Indices
2016-03-22 16:37:21 -07:00
Dave Abrahams
f493b54e44
[stdlib] indexing model: Interval/Range merge
...
This is step 1; we still need to introduce ClosedRange.
2016-03-16 15:59:10 -07:00
Dmitri Gribenko
3cde854287
Merge remote-tracking branch 'origin/master' into swift-3-indexing-model
2016-03-12 01:11:32 -08:00