Dave Abrahams
918b323565
[stdlib] Suppress some new warnings
...
Swift SVN r28420
2015-05-11 16:18:55 +00:00
Dmitri Hrybenko
7ac7eba882
stdlib: make map() dynamically dispatched
...
This change tries to recover the performance regression in map() that
was caused by moving map() to a protocol extension and degrading the
static type information (when mapping a collection, we only know that it
is a sequence). Adding map() to the witness table allows us to provide
a specialized implementation for collections, and hopefully recover the
lost performance.
Swift SVN r28416
2015-05-11 15:59:02 +00:00
Chris Lattner
39dc866eb2
tweak a couple of more files in the build to strength reduce from var -> let.
...
Swift SVN r28410
2015-05-11 06:06:40 +00:00
Chris Lattner
934bbd0a42
more stdlib hygiene
...
Swift SVN r28393
2015-05-10 06:35:15 +00:00
Chris Lattner
c1df892d47
improve stdlib hygiene a bit.
...
Swift SVN r28392
2015-05-10 02:55:18 +00:00
Chris Lattner
47bdbfb694
fix <rdar://problem/20883147> Type annotation for 'let' condition still expected to be optional
...
Swift SVN r28360
2015-05-09 02:34:01 +00:00
Dmitri Hrybenko
0bca4219dd
stdlib: remove workarounds from _replPrintLiteralString()
...
Swift SVN r28357
2015-05-09 01:34:49 +00:00
Dmitri Hrybenko
49216037c9
Revert "Provide a Mirror for Mirror - take 2"
...
This reverts commit 28336. The compiler crashes while building the
standard library.
Swift SVN r28348
2015-05-09 00:11:02 +00:00
Enrico Granata
cf30e0724e
Provide a Mirror for Mirror - take 2
...
This time with a dictionary instead of array literal, and with a test
Unless the bots break (and I will keep a more careful eye out for that this time), this will fix rdar://problem/20861708
Swift SVN r28336
2015-05-08 23:45:54 +00:00
Dmitri Hrybenko
7776ba5a71
stdlib: clean up capitalization in doc comments
...
Patch by Brian Lanier and Alex Martini.
Swift SVN r28335
2015-05-08 23:44:05 +00:00
Doug Gregor
0749486302
Let unqualified lookup find members of protocols and extensions thereof.
...
Members of protocols found via unqualified name lookup are mapped to
their corresponding witnesses, as we do for qualified name
lookup. This is the bulk of the compiler changes for
rdar://problem/20509152. Performing this mapping for unqualified name
lookup of types will follow.
Swift SVN r28333
2015-05-08 23:22:13 +00:00
Jordan Rose
21b8312c2e
[stdlib] Make a bunch of standard library functions compile faster.
...
The targeted functions all take over a second to type-check with my debug
compiler (found using -debug-time-function-bodies). The top two---the two
replaceRange implementations---took about a minute each; this change
knocks them down to 30-40s.
All of this is just breaking expressions apart, and the expressions aren't
even that complicated. I'm concerned that we have a serious performance
regression around the use of lazy(), and I've filed rdar://problem/20875936
so we can look into it. The test change is particularly concerning; there's
a ridiculous difference between 'lazy(...).reverse()' and
'lazy(...).reverse().reverse()'.
No intended functionality change.
Swift SVN r28325
2015-05-08 21:01:50 +00:00
Dmitri Hrybenko
d6818525b4
stdlib: remove extra 'Self.' qualifications that are not needed now
...
Finishes rdar://20838229
Swift SVN r28323
2015-05-08 19:12:27 +00:00
Dave Abrahams
8bd6b330b1
[stdlib] Fix DRY violation
...
Swift SVN r28316
2015-05-08 16:53:59 +00:00
Dmitri Hrybenko
f46f16ae82
stdlib: implement new print() API
...
rdar://20775683
Swift SVN r28309
2015-05-08 01:37:59 +00:00
Ted Kremenek
9f9bb725cf
Rename '_ErrorType' to 'ErrorType'.
...
Swift SVN r28293
2015-05-07 21:59:29 +00:00
Dmitri Hrybenko
8b392eeea9
Revert "Remove Array.count, it is redundant with protocol extensions"
...
This reverts commit r28247 while we discuss the change.
Swift SVN r28292
2015-05-07 21:45:30 +00:00
Dmitri Hrybenko
10ab07ade5
Revert "Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count"
...
This reverts commit r28248 while we discuss the change.
Swift SVN r28291
2015-05-07 21:45:28 +00:00
Dmitri Hrybenko
4461d97a49
Revert "stdlib: some more count -> count() replacements."
...
This reverts commit r28256 while we discuss the change.
Swift SVN r28290
2015-05-07 21:45:21 +00:00
David Farler
27cbf6b39d
Fix 'seealso' comment in AnyGenerator
...
These code blocks weren't indented enough, so they were
getting parsed as inline HTML.
rdar://problem/20843980
Swift SVN r28258
2015-05-07 08:05:02 +00:00
Erik Eckstein
94a3cf8142
stdlib: some more count -> count() replacements.
...
Fixes the no-asserts stdlib build.
Swift SVN r28256
2015-05-07 05:47:51 +00:00
Dmitri Hrybenko
d938b93e48
stdlib: doc comment: use monospaced font for code
...
rdar://20843980
Swift SVN r28255
2015-05-07 04:59:50 +00:00
Dmitri Hrybenko
8ac6c7cf8f
Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count
...
These APIs are redundant with APIs that come from protocol extensions.
Swift SVN r28248
2015-05-07 00:30:43 +00:00
Dmitri Hrybenko
58601fafc8
Remove Array.count, it is redundant with protocol extensions
...
Swift SVN r28247
2015-05-07 00:30:41 +00:00
Dmitri Hrybenko
c109ec9125
stdlib: protocol extensions: de-underscore count()
...
Swift SVN r28246
2015-05-07 00:30:38 +00:00
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
d790954154
stdlib: protocol extensions: de-underscore first
...
Swift SVN r28242
2015-05-07 00:30:30 +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
270ec3b67c
stdlib: protocol extensions: de-underscore reduce()
...
Swift SVN r28237
2015-05-07 00:30:25 +00:00
Dmitri Hrybenko
035d72d5a7
stdlib: protocol extensions: de-underscore contains()
...
Swift SVN r28236
2015-05-07 00:30:24 +00:00
Dmitri Hrybenko
822ad74194
stdlib: protocol extensions: de-underscore lexicographicalCompare()
...
Swift SVN r28235
2015-05-07 00:30:23 +00:00
Dmitri Hrybenko
78d1196f33
stdlib: protocol extensions: de-underscore elementsEqual
...
Swift SVN r28234
2015-05-07 00:30:22 +00:00
Dmitri Hrybenko
e43ad56a1c
stdlib: protocol extensions: de-underscore startsWith()
...
Swift SVN r28233
2015-05-07 00:30:21 +00:00
Dmitri Hrybenko
62aa1f0e7c
stdlib: protocol extensions: de-underscore minElement(), maxElement()
...
Swift SVN r28232
2015-05-07 00:30:20 +00:00
Dmitri Hrybenko
7e9063a4af
stdlib: protocol extensions: de-underscore enumerate()
...
Swift SVN r28231
2015-05-07 00:30:12 +00:00
Chris Lattner
37f5452d15
require -> guard.
...
Swift SVN r28223
2015-05-06 22:53:38 +00:00
Joe Groff
ab09922966
Runtime/IRGen: Replace the _SwiftNativeNS*Base +load hack with a compiler hack.
...
Rather than swizzle the superclass of these bridging classes at +load time, have the compiler set their ObjC runtime base classes, using a "@_swift_native_objc_runtime_base" attribute that tells the compiler to use a different implicit base class from SwiftObject. This lets the runtime shed its last lingering +loads, and should overall be more robust, since it doesn't rely on static initialization order or deprecated ObjC runtime calls.
Swift SVN r28219
2015-05-06 22:00:59 +00:00
Doug Gregor
2105aa7394
Remove extraneous 'Self.' from constrained extension where clauses.
...
NFC; cleans up the standard library implementation slightly.
Swift SVN r28209
2015-05-06 17:05:29 +00:00
Joe Groff
608e84496a
AST/stdlib: Stub out _OptionSetType as a known protocol.
...
Leave it empty for now. The implementation can be dropped in later.
Swift SVN r28205
2015-05-06 16:49:01 +00:00
Dmitri Hrybenko
cd652bf6cd
stdlib: canonicalize 'x.count == 0' to x.isEmpty
...
Swift SVN r28202
2015-05-06 16:27:41 +00:00
Dmitri Hrybenko
c31330ee1a
stdlib: canonicalize 'x.count == 0' to x.isEmpty
...
Swift SVN r28196
2015-05-06 03:04:23 +00:00
Dmitri Hrybenko
7ab0f987bf
stdlib: fix coding style
...
Swift SVN r28189
2015-05-06 00:06:05 +00:00
Dmitri Hrybenko
f0d5dfed97
stdlib: correct comment
...
Swift SVN r28188
2015-05-06 00:05:07 +00:00
Dave Abrahams
29e08e8814
[stdlib] Fix up Mirrors for the Linux bot
...
Swift SVN r28182
2015-05-05 21:44:13 +00:00
Chris Lattner
85d681a5b6
strength reduce some non-performance sensitive code :-)
...
Like the FIXME comment states, this method should probably
be changed to be:
public func getMirror() -> MirrorType {
return _OptionalMirror<T>(self)
}
but I don't know how to test that change.
Swift SVN r28157
2015-05-05 05:48:54 +00:00