swift
d3053b3b - [region-isolation] When inferring isolation for an argument, handle non-self isolated parameters as well as self parameters that are actor isolated.

Commit
1 year ago
[region-isolation] When inferring isolation for an argument, handle non-self isolated parameters as well as self parameters that are actor isolated. As part of this I went through how we handled inference and rather than using a grab-bag getActorIsolation that was confusing to use, I created split APIs for specific use cases (actor instance, global actor, just an apply expr crossing) that makes it clearer inside the SILIsolationInfo::get* APIs what we are actually trying to model. I found a few issues as a result and fixed most of them if they were small. I also fixed one bigger one around computed property initializers in the next commit. There is a larger change I didn't fix around allowing function ref/partial_apply with isolated self parameters have a delayed flow sensitive actor isolation... this will be fixed in a subsequent commit. This also fixes a bunch of cases where we were printing actor-isolated instead of 'self' isolated. rdar://127295657 (cherry picked from commit 50c2d678f219980f2d6c005cf866b6bd20334b0b)
Author
Committer
Parents
Loading