[6.0][region-isolation] When determining isolation from a class_method, check for global actor isolation first. #75045
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Explanation:Before this change in the following code, we would say that message is isolated to the actor instead of the global actor isolation of the actor's method:
It was just b/c we were checking the global actor bit on the field after checking for if it is apart of an actor. With this change, we swap the order and I split up/commented the logic in this part of the code to separate different cases that we are handling to make it easier to understand/prevent future errors.
Radars:
Original PRs:
Risk: Low. This just tweaks the behavior around how SIL isolation info identifies SILIsolationInfo of class methods. It doesn't touch the rest of the compiler... so any potential problems would be localized to class_method making this a targeted fix. Given the simplicity of the change, I do not expect any follow on problems.
Testing: Added/Ran tests
Reviewer: N/A