Slava Pestov
7a8a56254a
AST: Fix substitution map composition edge case
...
Adding `T == Int` to
G1 := <T where T: Equatable>
gives us
G2 := <T where T == Int>
which means that if I have this substitution map for G2:
S2 := { Int }
then `SubstitutionMap::get(G1, S2)` should give me this substitution map
for G1:
S2 := { Int, [Int: Equatable] }
But it didn't, instead returning a substitution map with an invalid
conformance.
The problem is that local conformance lookup alone cannot recover
`[Int: Equatable]` in this case, because there is no "concrete
conformance requirement" `[T == Int: Equatable]` recorded anywhere
in G2.
This is of course a legacy of the GenericSignatureBuilder. It would have
been better to not drop conformance requirements made concrete. But oh
well.
Fixes https://github.com/swiftlang/swift/issues/74465
Fixes rdar://130404629.
2024-07-01 14:15:41 -04:00
Slava Pestov
abfe49fd3d
Disable 0022-rdar21625478.swift entirely on noassert builds
...
Fixes rdar://problem/99800538.
2022-11-11 23:31:06 -05:00
Slava Pestov
3a92d2fc53
AST: Remove legacy GSB-based GenericSignature query implementation
2022-01-12 12:33:34 -05:00
Slava Pestov
4c8e7429f3
Disable requirement machine with compiler_crashers_2_fixed/0022-rdar21625478.swift for now
2021-09-23 14:44:31 -04:00
Slava Pestov
28b0606b46
'Migrate' compiler crashers to Swift 4
2018-07-03 16:03:07 -07:00
Slava Pestov
5d2752f7d2
Run tests with -swift-version 4 by default
...
Some test now fail, so add an explicit -swift-version 3.
2018-06-19 23:24:19 -07:00
Max Moiseev
7d73b2e1ca
Arithmetic => Numeric
2017-03-13 11:50:02 -07:00
Max Moiseev
8ffbc81239
Fixing some validation tests
2017-03-10 17:09:28 -08:00
practicalswift
6d1ae2a39c
[gardening] 2016 → 2017
2017-01-06 16:41:22 +01: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
Dmitri Gribenko
987acd375d
stdlib: make tests rely on Array implementation details less
2016-08-07 14:20:36 -07:00
Michael Ilseman
49e0685151
[noescape by default] drop superfluous @noescape from validation suite
2016-08-04 16:23:06 -07:00
Robert Widmann
e1ae0391e8
Fixup validation tests
2016-07-30 03:50:16 -07:00
Dave Abrahams
dcbfdb5339
_ includeElement/whereElementsSatisfy predicate => _ isIncluded
2016-07-19 07:05:54 -06:00
Michael Gottesman
fc37603c5f
Revert "Implement SE-0118"
2016-07-18 16:44:58 -07:00
Dave Abrahams
4bb21b8a2f
_ includeElement/whereElementsSatisfy predicate => _ isIncluded
2016-07-18 14:29:09 -06:00
Michael Gottesman
40e1991e12
Revert "Name and label changes for closure parameters (for review only) ( #2981 )"
...
This reverts commit 18406900ba .
2016-07-15 19:45:26 -07:00
Dave Abrahams
18406900ba
Name and label changes for closure parameters (for review only) ( #2981 )
...
Implement SE-0118 Name and label changes for closure parameters
[SE-0118](https://github.com/apple/swift-evolution/blob/master/proposals/0118-closure-parameter-names-and-labels.md )
2016-07-15 15:31:48 -07:00
Chris Lattner
87db7b4cf2
update validation tests to modern syntax.
2016-07-02 17:10:49 -07:00
Dmitri Gribenko
fc8d62dfbb
Merge remote-tracking branch 'origin/master' into swift-3-indexing-model
2016-04-18 14:40:06 -07:00
Chris Lattner
3aa4ff4332
fix a validation test that was using ++/--
2016-04-17 09:15:07 -07:00
Dmitri Gribenko
10697f939f
Merge commit '510f29abf77e202780c11d5f6c7449313c819030' into swift-3-indexing-model
2016-04-14 13:45:27 -07:00
Dmitri Gribenko
f8f75a2b95
Make a crash test more self-contained
2016-04-08 20:27:55 -07:00
gregomni
78216b2990
Change all remaining tests that use typealias in a protocol to use associatedtype.
2016-03-09 18:08:52 -08:00
Jordan Rose
0205191e32
stdlib: SequenceType._initializeTo(_:) becomes _copyContents(initializing:)
2016-02-23 16:58:49 -08:00
Dmitri Gribenko
f0633ce5a9
stdlib: Sequence.iterator() => .makeIterator()
2016-02-23 13:52:30 -08:00
Dmitri Gribenko
b90470e2fe
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-02-19 09:51:53 -08:00
Dmitri Gribenko
a73390c06d
stdlib tests: replace '__FILE__' and '__LINE__' with '#file' and '#line'
2016-02-18 18:48:29 -08:00
Dmitri Gribenko
9bcd5a1056
Collection.length => .count
2016-01-22 18:41:19 -08:00
Max Moiseev
f51e708a8f
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-01-04 12:25:25 -08:00
practicalswift
50baf2e53b
Use consistent formatting in top of file headers.
2016-01-04 02:17:48 +01:00
Zach Panzarino
e3a4147ac9
Update copyright date
2015-12-31 23:28:40 +00:00
Dmitri Gribenko
b1fdf56f5c
stdlib: mark _preprocessingPass with @noescape
2015-12-23 14:56:15 -08:00
Max Moiseev
5ccc258f71
func underestimatedLength() => var underestimatedLength { get }
2015-12-18 16:22:24 -08:00
Max Moiseev
b3fcc5fefa
underestimateLength() => underestimatedLength()
2015-12-18 16:22:24 -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
Maxim Moiseev
0e54467bfa
Final bulk removal of Type suffix
2015-12-16 17:06:19 -08:00
Maxim Moiseev
844b81c46b
SequenceType => Sequence
2015-12-09 17:16:56 -08:00
Maxim Moiseev
c678a839dc
IndexType => Index
2015-12-09 17:16:42 -08:00
Dmitri Gribenko
5a07f89297
Remove 'generator' from names of test functions and local variables
2015-12-09 17:15:11 -08:00
Maxim Moiseev
7e2466c14e
CollectionType => Collection
2015-12-09 17:12:48 -08:00
Dmitri Gribenko
1c0047829a
Rename SequenceType.generate() to SequenceType.iterator()
2015-12-09 17:11:17 -08:00
Dmitri Gribenko
2cf172160c
Rename SequenceType.Generator associated type to SequenceType.Iterator
2015-12-09 17:11:05 -08:00
Dmitri Gribenko
31598d41bf
Rename GeneratorType to IteratorProtocol
2015-12-07 17:08:32 -08:00
Dmitri Hrybenko
f5de8757e4
stdlib: remove Word and UWord
...
These types are leftovers from the early pre-1.0 times when Int and UInt
were always 64-bit on all platforms. They serve no useful purpose
today. Int and UInt are defined to be word-sized and should be used
instead.
rdar://18693488
Swift SVN r30564
2015-07-24 05:01:32 +00:00
Dave Abrahams
9d07acd368
[stdlib] SequenceType's _initializeTo should return the end position
...
Otherwise, the length of the sequence is in principle lost. If you know
you have a sequence of less than 100 elements, you still want to know
exactly how many elements you initialized from it.
Swift SVN r30104
2015-07-11 01:43:27 +00:00
Dave Abrahams
ef198daa2b
[stdlibunittest] Finish threading new trace facility through
...
Swift SVN r29955
2015-07-08 02:52:27 +00:00
Dave Abrahams
70ee2adc84
[stdlibunittest] More de-boilerplating WIP
...
Step 2.
Swift SVN r29936
2015-07-07 04:54:03 +00:00
Doug Gregor
880ad409db
Pick the potential archetype we use for the actual archetype more intelligently.
...
Archetypes either need to be a root, which corresponds to a type
parameter, or need to be parented by another archetype. When the
representative of an equivalence class of potential archetypes has a
parent, but that parent has been made equivalent to some concrete type
via a same-type constraint, choose a different potential archetype as
the "anchor", i.e., one that has no concrete types in its parent
chain. Fixes rdar://problem/21625478 and the canonical example in
rdar://problem/17619740.
Swift SVN r29898
2015-07-02 20:57:37 +00:00