Commit Graph

7754 Commits

Author SHA1 Message Date
Alex Hoppen
e14fa7291f [CS] Don’t fail constraint generation for ErrorExpr or if type fails to resolve
Instead of failing constraint generation by returning `nullptr` for an `ErrorExpr` or returning a null type when a type fails to be resolved, return a fresh type variable. This allows the constraint solver to continue further and produce more meaningful diagnostics.

Most importantly, it allows us to produce a solution where previously constraint generation for a syntactic element had failed, which is required to type check multi-statement closures in result builders inside the constraint system.
2022-07-20 09:46:12 +02:00
swift-ci
f2afdacae4 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-18 11:53:32 -07:00
nate-chandler
1e30ea9bff Merge pull request #60073 from nate-chandler/rdar81704151
[Test] Reenabled two tests.
2022-07-18 11:52:17 -07:00
Nate Chandler
674fc2c33a [Test] Reenabled two tests.
They should have been reenabled earlier.

rdar://81704151
2022-07-15 13:47:24 -07:00
swift-ci
3562f25346 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-14 13:34:16 -07:00
Guillaume Lessard
93083f595d Merge pull request #60061 from glessard/rdar96841889-minimalstdlib
[test] move test to a file requiring the full standard library
2022-07-14 14:33:37 -06:00
swift-ci
df237c0dc3 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-14 13:15:05 -07:00
Alex Hoppen
393626f3b6 Merge pull request #59997 from ahoppen/pr/empty-locator-has-no-preconcurrency
[CS] Remove assertion that callee locator has an anchor
2022-07-14 22:02:11 +02:00
Guillaume Lessard
480361b360 [test] move test to a file requiring the full stdlib
- SIMD types are not available in the minimal stdlib
2022-07-14 13:52:21 -06:00
Alex Hoppen
ae53e8a048 [CS] Remove assertion that callee locator has an anchor
When computing type relations of code completion items with respect to the context they are used in, we add a `ConstraintKind::Conversion` constraint with an empty constraint locator. This currently crashes in `hasPreconcurrencyCallee`, but actually having a null anchor doesn’t produce any issues.
2022-07-14 15:45:38 +02:00
swift-ci
a3f161112b Merge remote-tracking branch 'origin/main' into rebranch 2022-07-12 05:14:46 -07:00
Anthony Latsis
d74384cfcf Merge pull request #59931 from AnthonyLatsis/close-issues-3
Add regression tests to close several issues p. 3
2022-07-12 15:11:52 +03:00
swift-ci
2487c19575 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-11 20:34:04 -07:00
nate-chandler
20b99f3a94 Merge pull request #60009 from nate-chandler/rdar96194366
[IRGen] Look through opaque types for protocol witness table lazy access function.
2022-07-11 20:19:42 -07:00
Nate Chandler
f454717c6e [IRGen] Look through opaque types for protocol witness table lazy access function.
When determining the linkage of protocol witness table lazy access
functions and their cache variables, look through opaque types to find
the underlying decls.

rdar://96194366
2022-07-11 15:21:38 -07:00
swift-ci
80161c6d49 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-11 11:53:51 -07:00
David Smith
bcfa805635 Zero trailing bytes of SmallStrings more efficiently (#59823) 2022-07-11 11:46:15 -07:00
Anthony Latsis
58a9778136 Add fixed crasher to close #43442 2022-07-09 16:47:55 +03:00
Anthony Latsis
a82d6f9272 Add type-checker regression scale test to close #43386 2022-07-09 16:47:51 +03:00
Anthony Latsis
7c73047bf2 Add x-failed scale test for type-checking nil-coalescing dictionary values 2022-07-09 16:46:02 +03:00
Anthony Latsis
a359f7745c Add type-checker performance tracking test for #43369
To make this test work, fix an issue in `ConstraintSystem::salvage` where a
threshold breach during solving went unnoticed due to exiting on ambiguity
before reaching the `isTooComplex` check. Address this by moving the
`isTooComplex` check to before we start processing solutions, and stick another
one in `findBestSolution` for short-circuiting while we're here.
2022-07-09 16:34:19 +03:00
swift-ci
eec184df23 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-07 02:14:43 -07:00
Yuta Saito
687dca9d60 [Threading][test] disable threaded lit tests under threading_none 2022-07-07 01:57:38 +00:00
swift-ci
a1eedad6f5 Merge remote-tracking branch 'origin/main' into rebranch 2022-07-01 06:17:34 -07:00
Alex Hoppen
7245f5810c Merge pull request #58890 from ahoppen/pr/add-more-fixed-test-cases
[CodeCompletion] Add test cases that were fixed and had reduced reproducers
2022-07-01 15:09:35 +02:00
swift-ci
29d3906676 Merge remote-tracking branch 'origin/main' into rebranch 2022-06-29 00:33:40 -07:00
Alex Hoppen
97368698d4 Merge pull request #59664 from ahoppen/pr/cast-with-no-type
[TypeChecker] Don’t crash if a ExplicitCastExpr doesn’t have a cast type
2022-06-29 09:31:38 +02:00
swift-ci
aa5f56d983 Merge remote-tracking branch 'origin/main' into rebranch 2022-06-28 16:53:21 -07:00
Anthony Latsis
087eba83a2 Merge pull request #59757 from AnthonyLatsis/close-issues-2
Add regression tests to close several issues p. 2
2022-06-29 02:48:54 +03:00
swift-ci
408a2417ec Merge remote-tracking branch 'origin/main' into rebranch 2022-06-28 03:14:28 -07:00
Egor Zhdan
6754c3cf82 [cxx-interop] Add CxxSequence protocol to the stdlib overlay
This change adds basic helper protocols and structs that are going to be used for making C++ sequences and collection safe and Swifty by adding conformances to `Swift.Sequence`, `Swift.Collection`, etc.

This is not meant to be a final design.
2022-06-27 20:40:12 +01:00
Alex Hoppen
28a8e0762d [TypeChecker] Don’t crash if a ExplicitCastExpr doesn’t have a cast type
If the type of an `ExplicitCastExpr` is not valid, it is a null type, which causes a crash when checking if the cast type has parameterized existentials.

rdar://95629905
2022-06-27 17:21:53 +02:00
Anthony Latsis
7158760dbb Add fixed crasher to close #43187 2022-06-24 05:03:28 +03:00
swift-ci
28c78ed05b Merge remote-tracking branch 'origin/main' into rebranch 2022-06-23 10:54:26 -07:00
Anthony Latsis
15acfa9a5b Merge pull request #59535 from AnthonyLatsis/close-issues-1
Add regression tests to close some issues
2022-06-23 20:43:51 +03:00
Anthony Latsis
767423a3c9 Add regression test to close #59572 2022-06-22 22:17:33 +03:00
swift-ci
b8f39b56be Merge remote-tracking branch 'origin/main' into rebranch 2022-06-22 09:15:09 -07:00
Alejandro Alonso
95da55b182 [stdlib] Implement String.WordView (#42414)
* Implement String.WordView

* Add isWordAligned bit

* Hide WordView for now (also separate Index type)

add bidirectional conformance

Fix tests

* Address comments from Karoy and Michael

* Remove word view, use index methods

* Address Karoy's comments

aaa
2022-06-22 09:10:09 -07:00
Tim Kientzle
ea54c3ba40 First sketch of indirect enum support
This is basically an attempt to expand the test harness
to fully dump indirect enums using the existing RemoteMirror
facilities.
2022-06-16 09:54:49 -07:00
swift-ci
b6539ba8fe Merge remote-tracking branch 'origin/main' into rebranch 2022-06-14 20:54:35 -07:00
Alejandro Alonso
2a2f70f944 Fix tests who aren't using %target-cpu (#59433)
don't import string processing
2022-06-14 20:39:03 -07:00
swift-ci
c947fe7457 Merge remote-tracking branch 'origin/main' into rebranch 2022-06-14 13:55:04 -07:00
Doug Gregor
774a94f69d Make sure we can dig out the (distributed) actor from an archetype.
Fixes #59356 / rdar://94976378.
2022-06-14 10:57:29 -07:00
swift-ci
ed378ecae8 Merge remote-tracking branch 'origin/main' into rebranch 2022-06-13 19:54:01 -07:00
Karoy Lorentey
3bd45ec979 Merge pull request #59417 from lorentey/fix-generic-set-intersection
[stdlib] Fix handling of duplicate items in generic `Set.intersection`
2022-06-13 19:46:27 -07:00
swift-ci
0ad0a83c3f Merge remote-tracking branch 'origin/main' into rebranch 2022-06-13 16:53:32 -07:00
Alejandro Alonso
1891677f3e Remove StringMemoryTest (#59413) 2022-06-13 16:34:07 -07:00
Karoy Lorentey
01d7b5799c [stdlib] Fix handling of duplicate items in generic Set.intersection
If the sequence passed to `Set.intersection` has exactly as many duplicate items as items missing from `self`, then the new implementation in 5.6 will mistakenly return `self` unchanged. (It counts duplicate hits as distinct items in the result.)

rdar://94803458
2022-06-13 14:12:48 -07:00
swift-ci
d6fceb79c5 Merge remote-tracking branch 'origin/main' into rebranch 2022-06-13 11:53:47 -07:00
Karoy Lorentey
2da382dc6b Merge pull request #59243 from rctcwyvrn/lily-dictionary-optimization
Optimize Dictionary.filter for native dictionaries
2022-06-13 11:47:12 -07:00