Skip to content

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> No newline at end of file
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.

@jkotas jkotas added the area-async Runtime generate async state machines label Apr 27, 2025
@agocke agocke force-pushed the use-prototype-compiler branch 2 times, most recently from dfeb272 to c32bea3 Compare May 13, 2025 18:36
@agocke agocke force-pushed the use-prototype-compiler branch from c32bea3 to 5ed0cee Compare May 14, 2025 01:38
@agocke
Copy link
Member Author

agocke commented May 14, 2025

Closing in favor of the runtime PR: dotnet/runtime#115531

@agocke agocke closed this May 14, 2025
@agocke agocke deleted the use-prototype-compiler branch May 14, 2025 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-async Runtime generate async state machines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants