Skip to content

Conversation

@KevinRansom
Copy link
Contributor

Update to the latest language features ---- some slight changes to default formatting. Oh well!!!

@github-actions
Copy link
Contributor

github-actions bot commented Mar 21, 2025

⚠️ 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

@KevinRansom KevinRansom added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label Mar 21, 2025
@KevinRansom
Copy link
Contributor Author

So, merely updating fantomas to 7.0.1 causes us to emit different IL, therefore fantomas is clearly reformating in a way that changes some code semantics.

However, it's not entirely clear why right now.

I isolated the reformat to a single code change that demonstrates the problem in our compiler. It's late and the weekend, so we will have to get back to it later:

This single change is sufficient to change the IL output of the compiler service:
image
I have to say, on first examination it's not really clear why. But if I just make this one change the il produced is different.

@KevinRansom
Copy link
Contributor Author

@T-Gro has a great explanation for the il changes. Because for closures we use include the source code line number when generating symbol names, that can change when changes the line a symbol can appear on.

Note to self: remember this next time around.

@github-project-automation github-project-automation bot moved this from New to In Progress in F# Compiler and Tooling Mar 24, 2025
@KevinRansom KevinRansom merged commit e92bb80 into dotnet:main Mar 24, 2025
33 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in F# Compiler and Tooling Mar 24, 2025
T-Gro added a commit that referenced this pull request Mar 27, 2025
)

* Versioning for 17.14 and 9.0.300 (#18222)

* more code flow

* Update fantomas to 7.0.1 (#18400)

* Update fantomas

* Update fantomas - vsintegration

* Investigate.nuget (#18393)

* initial

* testing

* temp

* Fantomas, readme

* temp

* nowarn quotes for fantomas

* tests

* Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20250320.3 (#18398)

Microsoft.SourceBuild.Intermediate.source-build-reference-packages
 From Version 9.0.0-alpha.1.25163.3 -> To Version 9.0.0-alpha.1.25170.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Fantomas (#18404)

* Fix false negative [<TailCall>] warning (#18399)

* Update dependencies from https://github.com/dotnet/msbuild build 20250324.8 (#18405)

Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core
 From Version 17.13.21-preview-25169-06 -> To Version 17.13.22-preview-25174-08

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kevin Ransom (msft) <[email protected]>

* Fix GC test that is flaky on Linux (#18408)

* update runtime to 9.0.3 (#18406)

---------

Co-authored-by: Vlad Zarytovskii <[email protected]>
Co-authored-by: Petr <[email protected]>
Co-authored-by: Petr Pokorny <[email protected]>
Co-authored-by: Kevin Ransom (msft) <[email protected]>
Co-authored-by: Tomas Grosup <[email protected]>
Co-authored-by: Viktor Hofer <[email protected]>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dawe <[email protected]>
Co-authored-by: Jakub Majocha <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants