Holly Borla
9ba481ad53
[Diagnostics] Clarify the wording of error_in_future_swift_version.
2024-03-01 12:05:51 -08:00
Konrad `ktoso` Malawski
c56a1e8be7
[Distributed] Handle mangling thunks in extensions with generic AS and $Stubs ( #71914 )
2024-02-29 04:22:00 -08:00
Holly Borla
bb6de776d9
Merge pull request #71893 from hborla/downgrade-distributed-actor-isolation-error
...
[Concurrency] Downgrade newly diagnosed distributed actor isolation violation as a warning until Swift 6.
2024-02-26 17:19:10 -08:00
Holly Borla
479ee384b8
[Concurrency] Downgrade newly diagnosed actor isolation violation
...
as a warning until swift 6.
In compiler versions <=5.10, the compiler did not diagnose cases
where a non-isolated distributed actor value was passed to a VarDecl
with a function type type that has an isolated distributed actor
parameter, e.g. `(isolated DA) -> Void`. Stage in the error as a
warning until Swift 6.
2024-02-26 12:31:06 -08:00
John McCall
83850efba0
Fix a test to use SwiftStdlib 6.0 instead of 5.11.
2024-02-23 02:58:03 -05:00
Pavel Yaskevich
f9ec3b1d7e
Merge pull request #71796 from xedin/make-dist-new-requirements-conditionally-available
...
[Distributed] Make new protocol requirements conditionally available
2024-02-22 15:18:52 -08:00
Mishal Shah
cb96ec2893
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-22 09:44:44 -08:00
Konrad `ktoso` Malawski
1d44e2e8e0
[Distributed] Undo new record and mangling scheme for dist.p.witnesses ( #71801 )
2024-02-22 23:02:29 +09:00
Mishal Shah
6c306e3d43
Update the SwiftStdlib version to 6.0 and fix Frontend/crash.swift test
2024-02-21 15:20:24 -08:00
Pavel Yaskevich
2bd1825a1f
[stdlib] Distributed: Mark all new protocol requirements as available starting from stdlib 5.11
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
738ac14489
[IRGen] Distributed: Dispatch decodeNextArgument via witness thunk if concrete decoder is not available
...
Since distributed actors can now be generic over actor system
it's no longer guaranteed for concrete decoder to be present,
we need to handle that case specifically during accessor emission.
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
c0dc88878c
Revert "[IRGen] Distributed: Always invoke decodeNextArgument through witness thunk"
...
This reverts commit 4d4c80b8ec .
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
65d164a9c3
Revert "[SIL] Distributed: Remove logic related to ad-hoc requirements from SILFunction"
...
This reverts commit 1909b12370 .
2024-02-21 13:29:47 -08:00
Mishal Shah
b8cd763b21
Merge branch 'main' into bump-swift-version-to-6
2024-02-21 12:40:54 -08:00
Mishal Shah
b488702cc9
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 21:04:47 -08:00
Kavon Farvardin
f296d8e158
NCGenerics: mass XFAIL tests
...
It's easier to get a handle on regressions while working through
failures if the tests that are known to not pass are XFAIL'd for
NoncopyableGenerics.
2024-02-20 18:26:05 -05:00
Mishal Shah
96d61d3c5c
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 14:31:55 -08:00
Konrad `ktoso` Malawski
f03ddf728b
[Macros] Reproduce issue with peer+extension macro extension's methods not being checked as witnesses ( #71717 )
...
Co-authored-by: Pavel Yaskevich <pyaskevich@apple.com >
2024-02-20 00:50:29 -08:00
Konrad `ktoso` Malawski
551b07ba80
[Distributed] Fix _executeDistributedTarget ABI ( #71725 )
2024-02-19 21:23:11 -08:00
Mishal Shah
af112c1591
Update the Swift version to 6.0 from 5.11
2024-02-19 17:47:16 -08:00
Holly Borla
26621b804c
[Concurrency] Enable optional isolated parameters.
2024-02-16 16:28:45 -08:00
Konrad `ktoso` Malawski
e9c7f3c382
[Distributed] Target identifiers for protocol calls ( #70928 )
2024-02-16 07:19:20 -08:00
Konrad `ktoso` Malawski
827e6a5708
[Distributed] Add DistributedProtocol macro ( #71090 )
2024-02-16 07:27:34 +09:00
Pavel Yaskevich
1909b12370
[SIL] Distributed: Remove logic related to ad-hoc requirements from SILFunction
...
Ad-hoc requirements are now obsolete by making `remoteCall`,
`record{Argument, ReturnType}`, `decodeNextArgument` protocols
requirements and injecting witness tables for `SerializationRequirement`
conformances during IRGen.
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
4d4c80b8ec
[IRGen] Distributed: Always invoke decodeNextArgument through witness thunk
...
`decodeNextArgument` is now a requirement, so thunks should be
always calling that instead of trying to dispatch directly.
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
cdc9a01dc1
[Tests] NFC: Adjust distributed actor test-cases changed/improved due to new requirements
2024-02-12 14:26:30 -08:00
Slava Pestov
2ed50ec276
Sema: If the structural occurs check skips a witness, treat it as tautological
...
Fixes rdar://problem/122584912.
2024-02-10 17:20:14 -05:00
Holly Borla
5cb418a2a7
Merge pull request #71511 from hborla/explicit-isolation-expansion
...
[Concurrency] Make `#isolation` macro expansions explicit.
2024-02-09 15:44:33 -08:00
Holly Borla
1875817bdd
[Concurrency] Make #isolation macro expansions explicit.
...
Macro expansions are never considered implicit. They have
valid source locations in their macro expansion buffer, they
do not cause implicit 'self' capture diagnostics, etc. This
fixes an issue where existing code that iterates over an async
sequence in an escaping closure would diagnose a use of implicit
'self' via the '#isolation' argument to 'next()'.
2024-02-09 12:05:16 -08:00
Hamish Knight
5d0ad81932
[test] Remove unnecessary --color flags
...
This is now the default.
2024-02-09 16:47:03 +00:00
Konrad `ktoso` Malawski
1d73afb296
[Distributed] Handle DA declared inside a generic type ( #71492 )
2024-02-08 21:32:34 -08:00
Ben Barham
a2c237b899
Merge pull request #71202 from finagolfin/isolation
...
[Test] Make sure macros are enabled for the tests that use the new #isolation macro
2024-02-08 08:41:39 -08:00
John McCall
dd90ae7416
Rename SIL's @isolated attribute to @sil_isolated.
...
We want to use @isolated in ordinary Swift, and while we could probably
make it coexist with this SIL use, doing so would be really inconvenient.
2024-02-03 01:51:36 -05:00
Slava Pestov
28f26216ee
Sema: Refactor evaluateMembersRequest() to not call TypeChecker::checkConformance()
2024-01-31 21:56:57 -05:00
Konrad `ktoso` Malawski
bd19d937f0
[TaskExecutor] Remove underscore from new APIs ( #71145 )
2024-01-30 06:27:54 +09:00
Konrad `ktoso` Malawski
dfdbe457bf
[Distributed] Support complex generic distributed actors in thunk gen ( #70842 )
2024-01-28 01:26:52 -08:00
Finagolfin
8e7a5c6e53
[Test] Make sure macros are enabled for the tests that use the new #isolation macro
2024-01-28 02:20:07 +05:30
Slava Pestov
5eb32261aa
Merge pull request #71169 from slavapestov/one-more-round-of-fixes
...
One more round of associated type inference fixes
2024-01-26 17:32:00 -05:00
Slava Pestov
f5ccc3248d
Update Distributed/actor_protocols.swift for minor diagnostic change with -enable-experimental-associated-type-inference
2024-01-25 21:55:43 -05:00
Slava Pestov
991a6de207
Merge pull request #71131 from slavapestov/conformance-checker-vs-type-witnesses-untangling
...
Sema: Decouple type witness resolution from the ConformanceChecker
2024-01-25 20:06:01 -05:00
Allan Shortlidge
fdc7ebddbc
Tests: Make distributed_actor_custom_executor_availability.swift use an explicit deployment target.
...
Split distributed_actor_custom_executor_availability.swift into two tests, one
that only runs on existing platforms that support back deployment to Swift 5.7
aligned runtimes, and another test that is not restricted by platform that
tests behavior when deploying to a Swift 5.9 aligned runtime or later.
2024-01-24 22:21:51 -08:00
Allan Shortlidge
e0aa2e8a4b
Tests: Make distributed_actor_accessor_thunks_64bit.swift less sensitive to deployment target.
2024-01-24 22:21:51 -08:00
Slava Pestov
9c077ec338
Sema: Consolidate calls to emitDelayedDiags()
2024-01-24 13:16:49 -05:00
Slava Pestov
ec7269da5c
Sema: Clean up diagnoseMissingWitnesses()
2024-01-24 12:38:36 -05:00
Slava Pestov
4d7a22375b
Fix typo in name of test file
2024-01-24 12:05:24 -05:00
Doug Gregor
5c83cae0df
Merge pull request #71105 from DougGregor/silgen-hack-distributed-actor-as-actor
...
[SILGen] Ensure that we emit the distributed-actor-as-actor conformance
2024-01-23 22:36:17 -08:00
Michael Gottesman
c4622a235d
Merge pull request #71099 from gottesmm/pr-387f6b4fba6f40c5cb78dd54f3fd718902f9d38d
...
[region-isolation] Make it so that we only propagate actor self if the callee takes self as isolated.
2024-01-23 20:47:17 -08:00
Doug Gregor
07c6b78540
[SILGen] Ensure that we emit the distributed-actor-as-actor conformance
...
The distributed-actor-as-actor conformance is synthesized by the
frontend, so make sure that when we access the API that exposes it
(asLocalActor), we be sure to mark the conformance as "used".
This is a very specific workaround for general problem with
compiler-synthesized conformances. SIL deserialization can bring in a
reference to a conformance late in the SIL pipeline, after the point at
which SILGen can create the conformance. We should be able to address
this systemically to remove the hack.
2024-01-23 19:32:47 -08:00
Michael Gottesman
bfc12c550c
Fix another test
2024-01-23 16:24:53 -08:00
Michael Gottesman
6f3d45219a
[ast] Represent a parameter's isolation at the SIL level.
...
I did this by adding flag on SILParamInfo.
rdar://121387872
2024-01-23 15:20:22 -08:00