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.
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