dotnet / fsharp

The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
https://dotnet.microsoft.com/languages/fsharp
MIT License
3.83k stars 773 forks source link

Fix inlining regression #17201

Closed vzarytovskii closed 1 month ago

vzarytovskii commented 1 month ago

Description A recent feature impacting the IL Visibility of some F# types had an unintended impact to the F# optimization feature. The optimizer is incorrectly unable to inline some code that has "private" visibility, even when the inlined variables are "in-scope". The fix removes the code that aggressively and incorrectly detects this private visibility.

Regression? (was it working in a previous release or preview?) Yes this is a regression, it has been observed internally, as well as by external developers using the 8.0.300 preview SDK.

Risk (see taxonomy) Low: it removes an unnecessary, incorrect warning.

Testing

New automated regression tests added.

Original issue: https://github.com/dotnet/fsharp/issues/17161

PR into main: https://github.com/dotnet/fsharp/commit/9d053591bbec208490652ffba5747c5f13b35b34

github-actions[bot] commented 1 month ago

[!CAUTION] Repository is on lockdown for maintenance, all merges are on hold.

github-actions[bot] commented 1 month ago

:warning: Release notes required, but author opted out

[!WARNING] Author opted out of release notes, check is disabled for this pull request. cc @dotnet/fsharp-team-msft