Dave Abrahams
5f02ce8f03
[stdlib] Use Range<UnsafePointer> in _StringBuffer.grow()
...
Swift SVN r20876
2014-08-01 01:47:50 +00:00
Dave Abrahams
5465993f81
[stdlib] UnsafePointer : RandomAccessIndexType
...
It can be useful to form Ranges of these things, and there's no reason
it shouldn't be efficient to measure them, for example.
Swift SVN r20875
2014-08-01 01:46:09 +00:00
Nadav Rotem
6cc5fa218e
Mark another function as @readonly.
...
Swift SVN r20860
2014-07-31 23:30:42 +00:00
Nadav Rotem
08e5bff61b
Mark some more conversion functions as @readonly.
...
On -Ounchecked we are now able to zap this expression (from Richards):
UnicodeScalar(UInt32(2)+"0".value)
However, on -O we still check for overflow and actually need to construct the string.
Swift SVN r20856
2014-07-31 22:15:36 +00:00
Nadav Rotem
52ecfc8a27
Mark some more string builders as @readonly.
...
This accelerates Richards by 4X because we don't need to construct debug strings such as:
debug("TCB \(tcb!.id) state \(tcb!.state.bits)")
Swift SVN r20853
2014-07-31 21:55:29 +00:00
Jordan Rose
a627411b43
[ClangImporter] Imported NS_OPTIONS structs should not conform to BooleanType.
...
In general, RawOptionSetType no longer inherits from BooleanType.
Swift SVN r20846
2014-07-31 19:23:08 +00:00
Dave Abrahams
8419d20f1c
[stdlib] ImplicitlyUnwrappedOptional is not Boolean
...
Swift SVN r20839
2014-07-31 18:40:29 +00:00
Dave Abrahams
020c5893a7
[stdlib] AutoreleasingUnsafePointer is not Boolean
...
Swift SVN r20838
2014-07-31 18:32:02 +00:00
Dave Abrahams
104da6740b
[stdlib] Make && and || generic
...
...instead of using Existentials, which don't specialize well.
Swift SVN r20837
2014-07-31 18:22:56 +00:00
Dave Abrahams
ea21309150
[stdlib] _StringCore: ExtensibleCollectionType
...
Swift SVN r20825
2014-07-31 14:57:42 +00:00
Dave Abrahams
1614ed7386
[stdlib] Improve comments
...
Fill in what some default implementations would look like, if we had
that feature. At least it will help implementors.
Swift SVN r20824
2014-07-31 14:57:41 +00:00
Dmitri Hrybenko
8150b9296b
stdlib: fix leaks of Swift.String when passing them from runtime to
...
Swift (in mirrors and demangling)
Swift SVN r20823
2014-07-31 14:48:54 +00:00
Dmitri Hrybenko
0194e2675b
stdlib/UnsafePointer: add more doc comments
...
Swift SVN r20822
2014-07-31 14:28:04 +00:00
Dave Abrahams
50aac71847
[stdlib] Arrays : RangeReplaceableCollectionType
...
Add the missing APIs and make the conformance complete
Swift SVN r20807
2014-07-31 02:54:27 +00:00
Dave Abrahams
bd2bd78b23
[stdlib] Add RangeReplaceableCollectionType
...
Swift SVN r20791
2014-07-31 00:38:24 +00:00
Dave Abrahams
80a21c8c09
[stdlib] Fix my last commit (oops!)
...
Swift SVN r20772
2014-07-30 20:42:02 +00:00
Dave Abrahams
287e43ad3c
[stdlib] Clean up the other half of array casts
...
Swift SVN r20771
2014-07-30 20:39:47 +00:00
Dave Abrahams
ab21c59977
[stdlib] Clean up half the array cast machinery
...
Swift SVN r20765
2014-07-30 18:22:31 +00:00
Dmitri Hrybenko
ec4f8d37f7
stdlib: fix a heap overflow that colud happen when appending to a string
...
slice
rdar://17855908
Swift SVN r20762
2014-07-30 18:04:36 +00:00
Dmitri Hrybenko
6296c14623
stdlib/_StringBuffer: documentation comments, coding style
...
Swift SVN r20759
2014-07-30 14:43:30 +00:00
Dmitri Hrybenko
190db64c18
stdlib: document current plan of record for reserveCapacity() semantics
...
rdar://16970908
Swift SVN r20758
2014-07-30 14:42:24 +00:00
Dmitri Hrybenko
ac0d9b8175
stdlib/CGFloat: GYB'ify initializers that convert between CGFloat and
...
integer types. Never miss an integer type again.
rdar://17853313
Swift SVN r20751
2014-07-30 11:24:11 +00:00
Dmitri Hrybenko
c17b692e20
stdlib: pull out information about integer types into a reusable file
...
Swift SVN r20750
2014-07-30 10:16:47 +00:00
Dave Abrahams
6e7f83fe98
Internalize old array casting entry-points
...
The core compiler now uses just two entry points for array casting
Swift SVN r20725
2014-07-29 23:56:51 +00:00
Dave Abrahams
6a80cbbaa2
[stdlib] Capitalize the cases of Bit
...
Fixes <rdar://problem/17821517>
Swift SVN r20718
2014-07-29 23:25:28 +00:00
Dave Abrahams
7c7fb3eea0
Restore "[Release note] deferred array cast checks"
...
I had just gone too far with the laziness; everything was already
working after only one change
Swift SVN r20717
2014-07-29 23:25:27 +00:00
Dave Abrahams
0b562db701
Revert "[Release note] deferred array cast checks"
...
This reverts commit r20700 and r20702
I'll bring these back when I work out the problems.
Swift SVN r20708
2014-07-29 22:52:28 +00:00
Dave Abrahams
18b81228d5
[stdlib] Defer array bridge cast checks
...
Part 2 (of 2) of <rdar://problem/17340393>
Swift SVN r20700
2014-07-29 21:41:11 +00:00
Dave Abrahams
5847a0f7c3
[stdlib] defer Array element down-cast checks
...
Part 1 of <rdar://problem/17340393>
Swift SVN r20699
2014-07-29 21:41:10 +00:00
Dave Abrahams
ebcaab1e52
[stdlib/core] add Array init from _CocoaArrayType
...
Swift SVN r20698
2014-07-29 21:41:09 +00:00
Dave Abrahams
01dd78ae99
[stdlib] Add missing _sanityCheck diagnostic
...
Swift SVN r20691
2014-07-29 21:01:26 +00:00
Dave Abrahams
a8225dabee
[stdlib] ArrayBridge.swift => ArrayCast.swift
...
This file is really about array casting, and not (necessarily) bridging.
Bridging may be involved in some array casts, but is not involved in all
of them.
Swift SVN r20690
2014-07-29 20:58:54 +00:00
Dave Abrahams
0320ef85ab
[stdlib] Consolidate array casting entry points
...
Swift SVN r20689
2014-07-29 20:54:24 +00:00
Dmitri Hrybenko
bdc78be4e5
Reflection: reorder dump() arguments so that one can print to a stream and take
...
advantage of default values
Also, fix dump() to actually print everything into the supplied stream.
Swift SVN r20670
2014-07-29 15:07:25 +00:00
Dave Abrahams
9a13a7148b
[stdlib] Consolidate bridging protocols
...
Squash _[Conditionally]BridgedToObjectiveC into one protocol. This
change results in simpler bridging code with fewer dynamic protocol
conformance checks, and solves the nasty naming/semantics problem that
resulted from having _ConditionallyBridgedToObjectiveC refining
_BridgedToObjectiveC.
Also, rename things so they're more symmetrical and less confusing.
Swift SVN r20664
2014-07-29 01:30:27 +00:00
Dave Abrahams
5496c4beac
[stdlib] Default == for Strideables
...
...which we can provide now that <rdar://problem/17620349> is fixed.
Thanks, JoeP!
Swift SVN r20645
2014-07-28 21:14:53 +00:00
Dave Abrahams
6d1f574089
[stdlib] Separate file for Array bridging/casting
...
This stuff will require a nice big comment and will go through several
rounds of cleanup; let's get it out of the regular Array flow.
Swift SVN r20642
2014-07-28 20:34:08 +00:00
Joe Pamer
96a5df8281
Remove one more optional-as-boolean.
...
Swift SVN r20640
2014-07-28 19:20:42 +00:00
Joe Pamer
94dac129d4
Remove the BooleanType conformance from optional types (rdar://problem/17110911)
...
To limit user confusion when using conditional expressions of type Bool?, we've decided to remove the BooleanType (aka "LogicValue") conformance from optional types. (If users would like to use an expression of type Bool? as a conditional, they'll need to check against nil.)
Note: This change effectively regresses the "case is" pattern over types, since it currently demands a BooleanType conformance. I've filed rdar://problem/17791533 to track reinstating it if necessary.
Swift SVN r20637
2014-07-28 19:20:39 +00:00
Dave Abrahams
c76eeec0a5
[stdlib] Drop obsolete @availability
...
Swift SVN r20634
2014-07-28 18:31:34 +00:00
Dave Abrahams
214e2f03de
[stdlib] Drop @availability for renamed protocols
...
...now that seed 5 has branched.
Fixes <rdar://problem/17672088> #Seed 6: Remove @availability for protocols
Swift SVN r20632
2014-07-28 18:14:27 +00:00
Dave Abrahams
4ece9b1734
[stdlib] Default bitwise assignment operators
...
|=, &=, and ^= now come along for free with a BitwiseOperationsType
conformance, so we can remove the special-cased operators for
RawOptionSetType.
Also, release notes.
Swift SVN r20630
2014-07-28 16:39:23 +00:00
Dave Abrahams
d90f34a479
[stdlib] RawOptionSetType : BitwiseOperationsType
...
Add the missing conformance now that Jordan implemented allZeros.
Swift SVN r20625
2014-07-28 15:52:45 +00:00
Dmitri Hrybenko
f75968d9cd
stdlib: add a trap() function that traps in debug and release modes
...
rdar://17792445
Swift SVN r20620
2014-07-28 11:30:42 +00:00
Dmitri Hrybenko
ca07053adc
stdlib: rename fatalError() to debugTrap()
...
Part of rdar://17792445
Swift SVN r20619
2014-07-28 11:14:52 +00:00
Doug Gregor
0b802ce6e9
String: add some unavailable subscript overloads for String with integer (or integer range) indices.
...
The compiler's QoI for these cases is horrible, and it's a common
pitfall, so be more direct about the fact that this cannot be done.
Swift SVN r20613
2014-07-28 03:50:26 +00:00
Dave Abrahams
31d6f95452
[stdlib] UnsafeBufferPointer: add ".count"
...
In answering a forum post I noiced that I wanted this and it was
missing.
Also, extensive comments
Also, rename the length: init parameter to count:. When writing the
comments for the init function it became painfully clear why we use
"count" is better than "length" especially around pointers and memory:
the former is much less easy to mistake for "length in bytes". Plus
it's consistent with the new ".count" property
Swift SVN r20609
2014-07-28 01:03:09 +00:00
Dmitri Hrybenko
06a9ea552c
stdlib/String: fix hasPrefix() and hasSuffix() to perform proper Unicode
...
comparison
rdar://17498444
Swift SVN r20603
2014-07-27 18:12:02 +00:00
Dmitri Hrybenko
a4c1ef90e7
stdlib/Algorithm: add an overload for startsWith that accepts a
...
comparison predicate
Swift SVN r20601
2014-07-27 01:00:26 +00:00
Joe Groff
61f64f3323
stdlib: Add a '??' nil-coalescing operator.
...
Similar to nil-coalescing operators in other languages, this operator takes an optional on the left and a non-optional expression on the right, and if the optional is nil, evaluates the right side, otherwise returning the value from the optional itself. <rdar://problem/15247356>
Swift SVN r20593
2014-07-26 19:48:50 +00:00