Don't introduce GetAwaiter extension methods conflicting with Unity's Awaitable in 2023.1+ #11178
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.
Overview
As Unity 2023.1 introduces await support for many constructs (including AsyncOperation), the package is running into compilation issues where there are ambiguous method calls when trying to resolve GetAwaiter method.
This PR makes disambiguate them by conditionally compile GetAwaiter extension methods depending on Unity Version
Changes
Verification
I would be feeling much better about this PR if the CI ran tests with 2023.1 (2023.1.0a17 is publicly available and has the Awaitable support). There has been other API deprecations that may impact the package as well in addition to this.