Skip to content

Commit 9981ee6

Browse files
authored
Merge pull request #300 from Thorium/fsc-update
FSC and FSharp.Core update
2 parents c6883c1 + 27b44a7 commit 9981ee6

3 files changed

Lines changed: 22 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
66
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.37.0] - 2026-06-04
9+
10+
### Changed
11+
12+
- [Updated FSharp.Core to 10.1 and FSC to 43.12](https://github.com/ionide/FSharp.Analyzers.SDK/pull/300) (thanks @Thorium!)
13+
814
## [0.36.0] - 2026-02-02
915

1016
### Added

Directory.Packages.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
</PropertyGroup>
77
<ItemGroup>
88
<PackageVersion Include="CliWrap" Version="3.10.0" />
9-
<PackageVersion Include="FSharp.Core" Version="[10.0.101]" />
10-
<PackageVersion Include="FSharp.Compiler.Service" Version="[43.10.101]" />
9+
<PackageVersion Include="FSharp.Core" Version="[10.1.201]" />
10+
<PackageVersion Include="FSharp.Compiler.Service" Version="43.12.201" />
1111
<PackageVersion Include="Ionide.KeepAChangelog.Tasks" Version="0.3.0" PrivateAssets="all" />
1212
<PackageVersion Include="McMaster.NETCore.Plugins" Version="2.0.0" />
1313
<PackageVersion Include="Argu" Version="6.2.5" />

src/FSharp.Analyzers.SDK/ASTCollecting.fs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -425,22 +425,23 @@ module ASTCollecting =
425425
| SynExpr.TypeApp(expr = e; typeArgs = tys) ->
426426
List.iter (walkType nextPath) tys
427427
walkExpr nextPath e
428-
| SynExpr.LetOrUse(isBang = false; bindings = bindings; body = e; range = _) ->
429-
List.iter (walkBinding nextPath) bindings
430-
walkExpr nextPath e
431-
| SynExpr.LetOrUse(isBang = true; bindings = bindings; body = e2; range = _) ->
432-
match bindings with
433-
| SynBinding(headPat = pat; expr = e1) :: andBangs ->
434-
walkPat nextPath pat
435-
walkExpr nextPath e1
436-
437-
for SynBinding(headPat = pat; expr = body) in andBangs do
428+
| SynExpr.LetOrUse synLetOrUse ->
429+
if synLetOrUse.IsBang then
430+
// let! ... and! ... bindings in a computation expression
431+
match synLetOrUse.Bindings with
432+
| SynBinding(headPat = pat; expr = e1) :: andBangs ->
438433
walkPat nextPath pat
439-
walkExpr nextPath body
434+
walkExpr nextPath e1
440435

441-
| [] -> // error case
436+
for SynBinding(headPat = pat; expr = body) in andBangs do
437+
walkPat nextPath pat
438+
walkExpr nextPath body
442439

443-
walkExpr nextPath e2
440+
| [] -> () // error case
441+
else
442+
List.iter (walkBinding nextPath) synLetOrUse.Bindings
443+
444+
walkExpr nextPath synLetOrUse.Body
444445

445446
| SynExpr.TryWith(tryExpr = e; withCases = clauses; range = _) ->
446447
List.iter (walkClause nextPath) clauses

0 commit comments

Comments
 (0)