Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use prototype roslyn compiler #3062

Draft
wants to merge 1 commit into
base: feature/async2-experiment
Choose a base branch
from

Conversation

agocke
Copy link
Member

@agocke agocke commented Mar 31, 2025

Everything under async will use the prototype compiler. All async methods will be compiled as async by default (the feature flag is enabled). The attribute definition for the tests is included, which can be used to selectively disable async2.

@agocke
Copy link
Member Author

agocke commented Mar 31, 2025

Note: this currently fails due to the compiler throwing

<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)RuntimeAsyncMethodGenerationAttribute.cs" />
</ItemGroup>
</Project>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think switching all tests to experimental compiler is good for runtimelab, but in main repo we might need to limit this to async folder.

I assume this will work in CI, right?

@VSadov
Copy link
Member

VSadov commented Apr 3, 2025

I looked through the changes and PR looks reasonable.
I did not try it locally, since we have a known issue with Task.Yield. We'd need to fix that before merging.

I think that can be handled by making an async1 wrapper over Task.Yield, but maybe it is easier to wait for a Roslyn fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants