[6.0][transfer-non-sendable] Teach SILIsolationInfo how to handle "look through instructions" when finding actor instances. #74677
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: This PR fixes an issue where when we were trying to identify the specific actor instance that was being identified and we were not looking through instructions like copy_value/move_value which we should have. So we were saying that two SILIsolationInfo that should be identical were actually different since the underlying value was different.
By doing this, we fix two issues at least:
the problem here was that we viewed the isolation of helper to be different than the isolation of ns even though they are the same.
The problem in this case is that body is considered isolated to
#isolation
but there is a copy on it so we think it has different isolation from the closure whose isolation is straight upisolation
.Radars:
Original PRs:
Risk: Low.
Testing: Added tests to the compiler.
Reviewer: @ktoso