Commit Graph

108 Commits

Author SHA1 Message Date
Kavon Farvardin
e23f0abbe8 [concurrency] patch hole in typechecking ordinary functions for global actor references
Non-actor isolated synchronous functions were previously
allowed to call & reference global-actor isolated declarations.
This patch puts a stop to that.

Resolves rdar://71548470
2020-12-14 12:23:59 -08:00
Kavon Farvardin
eb665f6d35 improve and fix diagnostic for implicitly async calls 2020-11-19 17:08:18 -08:00
Kavon Farvardin
9cba85573f update existing tests for new implicitly-async calls. 2020-11-19 17:08:18 -08:00
John McCall
a8464dcaf1 Implicitly import _Concurrency under -enable-experimental-concurrency 2020-10-22 00:53:15 -04:00
Doug Gregor
a5b15ed630 [Concurrency] Substitute into superclass global actors when inheriting them. 2020-10-13 22:40:51 -07:00
Doug Gregor
11cf3ceffe [Concurrency] Eliminate actor isolation checking for subclasses.
Subclasses inherit the global actor from their superclass by default,
but it's okay to change it---it's just a default that can be
overridden on a per-member basis anyway.
2020-10-13 22:37:24 -07:00
Doug Gregor
18fd4be17a [Concurrency] Check actor isolation consistency for overrides & subclasses.
Both overriding declarations and subclasses must have the actor
isolation as their overridden declarations or superclasses,
respectively. Enforce this, ensuring that we're also doing the
appropriate substitutions.
2020-10-13 21:41:59 -07:00
Doug Gregor
f089ba9464 [Concurrency] Propagation of actor constraints.
Implement propagation rules for global actor constraints, which can come from:

* Enclosing extension or type
* Superclass of a class
* Overridden declaration
* Requirement witnessed by a declaration
* Storage declaration for an accessor
2020-10-13 15:17:13 -07:00