Maxim Moiseev
1c1b2b966d
[stdlib] String : RangeReplaceableCollection & BidirectionalCollection ( #8921 )
...
* [stdlib] String : RangeReplaceableCollection & BidirectionalCollection
* Add source compatibility hack for Swift.max
* Add source compatibility hack for Swift.min
* Remove redundant conformance in benchmarks
* Fix stupid typo I thought I'd already pushed
* XFAIL testing now-redundant conformance
* XFAIL an IDE test for now
2017-04-23 20:04:54 -07:00
Ben Cohen
9733d50db4
Add Swift 3 compatibility versions of String.init for Signed/UnsignedInteger ( #8926 )
2017-04-21 17:30:31 -07:00
Max Moiseev
2f5fd8e2ed
Improving benchmarks
2017-03-27 14:59:27 -07: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
Ben Cohen
9a4349ce89
Combine String.init with and without radix
2017-01-03 18:39:59 -08: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
ea8e0f0e15
Merge remote-tracking branch 'origin/master' into new-integer-protocols
2016-09-21 14:48:35 -07:00
Dmitri Gribenko
77813904f8
stdlib: replace error-prone pairs of isASCII/startASCII calls with an API that returns Optional
2016-09-05 22:47:24 -07:00
Michael Ilseman
b7c9eddd11
[noescape by default] drop @noescape from stdlib
2016-08-04 16:09:01 -07:00
Maxim Moiseev
655bfe2a57
FIXMEs to change FixedWidthInteger to BinaryInteger in generic code
2016-07-29 13:31:21 +03:00
Maxim Moiseev
6dbb572038
toIntMax is gone
2016-07-29 13:31:21 +03:00
Max Moiseev
28a252e33d
Operators compile
2016-07-29 13:31:21 +03:00
Max Moiseev
1867ca4a0f
WIP eliminating compilation errors one by one...
2016-07-29 13:31:21 +03: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
Roman Levenstein
a798852cb4
Implementation of the SE-130 proposal.
...
It replaces String initializers taking Character or UnicodeScalar as a repeating value by a more general initializer that takes a String as a repeating value. This is done to avoid the ambiguities in the current String API, which can be only resolved by explicit casting.
String.append(_:UnicodeScalar) APIs is also removed to match these changes.
2016-07-26 20:08:11 -07:00
Alexander Lash
9a4caf6c4b
[core] hasPrefix/hasSuffix consider the empty string a prefix/suffix of all strings.
2016-07-20 17:46:47 -07:00
practicalswift
5d1af107a3
[gardening] Use "{let,var} c: C" instead of "{let,var} c : C"
...
Inspired by @gribozavr:s fix in 1ad666742e
2016-07-01 23:51:32 +02:00
practicalswift
8df3859ce7
[gardening] Fix recently introduced typos.
2016-06-05 11:11:44 +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
Max Moiseev
e733a9b194
[stdlib][swift-3-indexing-model] removing successor/predecessor from String.UnicodeScalarView.Index
2016-04-25 11:55:10 -07:00
Arnold Schwaighofer
eea243d991
ASCII fast path for String's hasSuffix
...
rdar://25797140
2016-04-19 11:08:28 -07:00
Arnold Schwaighofer
c4666a77a7
Fast path hasPrefix for ASCII Strings
...
We are no longer failing the un-XFAILed test case because we are not calling
into CoreFoundation.
rdar://25797140
2016-04-19 10:23:17 -07:00
Arnold Schwaighofer
e67acdb70d
Improve the performance of String.hasPrefix/hasSuffix by using a stack allocated _NSContiguousString
...
rdar://25797140
2016-04-19 09:04:58 -07:00
Chris Lattner
4fd8418ba7
move the stdlib to put noescape and autoclosure on the type, instead of
...
the parameter. Progress towards SE-0049.
2016-04-14 23:13:43 -07:00
Manav Gabhawala
7928140f79
[SE-0046] Implements consistent function parameter labels by discarding extraneous parameter names and adding _ where necessary
2016-04-06 20:21:58 -04:00
Daniel Duan
276370b599
[stdlib] apply SE-0040 to stdlib
2016-03-11 16:01:41 -08:00
Max Moiseev
7fe6916bf6
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-03-07 12:10:47 -08:00
Dmitri Gribenko
449869ccae
stdlib: Remove dead code in String and UnicodeScalar
2016-03-06 02:46:21 -08:00
Chris Willmore
2ddb6106e4
stdlib: Audit API for Swift 3 preposition, first-arg label rules
...
This commit is the result of auditing the following files:
* StringBuffer.swift
* StringCharacterView.swift
* StringCore.swift
* StringInterpolation.swift.gyb
* StringLegacy.swift
2016-02-24 16:11:20 -08:00
Max Moiseev
40b1a0b7e0
[stdlib] all sorts of require renamed back to precondition
2016-02-19 18:21:29 -08:00
Dmitri Gribenko
9bcd5a1056
Collection.length => .count
2016-01-22 18:41:19 -08:00
Max Moiseev
9a018bd77d
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-01-20 14:38:22 -08:00
Guillaume Lessard
5d4fb3f210
80-column compliance
2016-01-20 07:53:44 -07:00
Dmitri Gribenko
74ce1ca79c
Add unavailable declarations for Swift 2.2 -> 3 migration
2016-01-19 14:32:59 -08:00
Max Moiseev
f51e708a8f
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-01-04 12:25:25 -08:00
Zach Panzarino
e3a4147ac9
Update copyright date
2015-12-31 23:28:40 +00:00
Max Moiseev
497b348686
turning UnicodeScalar.isASCII etc into properties
2015-12-18 16:20:01 -08:00
Dmitri Gribenko
15a9649062
Repeated(repeating:length:) => repeatElement(_:count:)
2015-12-17 16:24:47 -08:00
Dmitri Gribenko
86f1258810
Repeat => Repeated
2015-12-17 16:24:11 -08:00
Dmitri Gribenko
73ce9ae7e9
Collection.count => .length
...
And other API changes that naturally fall out from this, like
Array(repeating:count:) => Array(repeating:length:).
2015-12-17 15:55:29 -08:00
Max Moiseev
3fe0c60d7f
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2015-12-17 11:00:02 -08:00
Chris Lattner
99fcb2dfe1
Change all uses of x = x.successor() to use x._successorInPlace()
...
...because it is apparently more efficient in some cases. Technically
we don't do this in ALL places, because it would be unfortunate if
the implementation of _successorInPlace() were self recursive :-)
2015-12-16 22:38:37 -08:00
Maxim Moiseev
e6468a0eca
_precondition => _require
2015-12-16 17:19:01 -08:00
Chris Lattner
e9a2e1e128
Eliminate all of the uses of ++/-- from stdlib/public/core.
...
At DaveA's suggestion, I took a mostly mechanical approach to this:
pointers and numeric types start using += 1, and indexes use
i = i.successor(). The index model is likely to be revised in
Swift 3 anyway, so micro-optimizing this code syntactically isn't
super important.
There is some performance concern of this patch, since some
in-place succesor operations are more efficient than
i = i.successor(). The one that seems particularly at issue is the
instance in the implementation of partition(), which I changed to
use i._successorInPlace(). If other instances lead to a perf issue,
they can be changed to use that as well.
2015-12-15 23:21:55 -08:00
Maxim Moiseev
b702b1a903
more number type renames
2015-12-10 17:08:41 -08:00