Skip to content

Commit 997d5e8

Browse files
committed
First Pass F# 9 support
1 parent 258fbc5 commit 997d5e8

File tree

13 files changed

+40
-39
lines changed

13 files changed

+40
-39
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"paket": {
6-
"version": "8.0.3",
6+
"version": "9.0.1",
77
"commands": [
88
"paket"
99
],

.paket/Paket.Restore.targets

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,14 +235,15 @@
235235
<Splits>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length)</Splits>
236236
<PackageName>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])</PackageName>
237237
<PackageVersion>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])</PackageVersion>
238+
<Reference>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[2])</Reference>
238239
<AllPrivateAssets>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])</AllPrivateAssets>
239240
<CopyLocal Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 6">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal>
240241
<OmitContent Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 7">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[6])</OmitContent>
241242
<ImportTargets Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 8">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[7])</ImportTargets>
242243
<Aliases Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 9">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[8])</Aliases>
243244
</PaketReferencesFileLinesInfo>
244-
<PackageReference Include="%(PaketReferencesFileLinesInfo.PackageName)">
245-
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
245+
<PackageReference Condition=" '$(ManagePackageVersionsCentrally)' != 'true' Or '%(PaketReferencesFileLinesInfo.Reference)' == 'Direct' " Include="%(PaketReferencesFileLinesInfo.PackageName)">
246+
<Version Condition=" '$(ManagePackageVersionsCentrally)' != 'true' ">%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
246247
<PrivateAssets Condition=" ('%(PaketReferencesFileLinesInfo.AllPrivateAssets)' == 'true') Or ('$(PackAsTool)' == 'true') ">All</PrivateAssets>
247248
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.CopyLocal) == 'false' or %(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
248249
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.OmitContent) == 'true'">$(ExcludeAssets);contentFiles</ExcludeAssets>
@@ -252,6 +253,10 @@
252253
<AllowExplicitVersion>true</AllowExplicitVersion>
253254

254255
</PackageReference>
256+
257+
<PackageVersion Include="%(PaketReferencesFileLinesInfo.PackageName)">
258+
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
259+
</PackageVersion>
255260
</ItemGroup>
256261

257262
<PropertyGroup>

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<ChangelogFile>$(MSBuildThisFileDirectory)CHANGELOG.md</ChangelogFile>
1919
<!-- Only the tool package is packable -->
2020
<IsPackable>false</IsPackable>
21+
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
2122
</PropertyGroup>
2223

2324
</Project>

benchmarks/benchmarks.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
5+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
66
</PropertyGroup>
77
<ItemGroup>
88
<Compile Include="SourceTextBenchmarks.fs" />

paket.dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ storage: none
1010

1111
nuget BenchmarkDotNet
1212
nuget Fantomas.Client >= 0.9
13-
nuget FSharp.Compiler.Service >= 43.8.300
13+
nuget FSharp.Compiler.Service >= 43.9
1414
nuget Ionide.Analyzers
1515
nuget FSharp.Analyzers.Build
1616
nuget Ionide.ProjInfo >= 0.65.0

paket.lock

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,12 @@ NUGET
5050
FParsec (1.1.1) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net5.0)) (&& (== netstandard2.1) (>= net5.0))
5151
FSharp.Core (>= 4.3.4)
5252
FSharp.Analyzers.Build (0.3)
53-
FSharp.Analyzers.SDK (0.27)
54-
FSharp.Compiler.Service (43.8.400) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
55-
FSharp.Core (8.0.400) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
53+
FSharp.Analyzers.SDK (0.16)
54+
FSharp.Compiler.Service (>= 43.7.400) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
55+
FSharp.Core (>= 7.0.400) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
5656
McMaster.NETCore.Plugins (>= 1.4) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
57-
Microsoft.Extensions.Logging.Abstractions (>= 6.0) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
58-
FSharp.Compiler.Service (43.8.400)
59-
FSharp.Core (8.0.400)
57+
FSharp.Compiler.Service (43.9.100)
58+
FSharp.Core (9.0.100)
6059
System.Buffers (>= 4.5.1)
6160
System.Collections.Immutable (>= 8.0)
6261
System.Diagnostics.DiagnosticSource (>= 8.0)
@@ -70,7 +69,7 @@ NUGET
7069
FSharp.Control.Reactive (5.0.5) - restriction: || (== net6.0) (== net7.0) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
7170
FSharp.Core (>= 4.7.2)
7271
System.Reactive (>= 5.0 < 6.0)
73-
FSharp.Core (8.0.400)
72+
FSharp.Core (9.0.100)
7473
FSharp.Data.Adaptive (1.2.15)
7574
FSharp.Core (>= 4.7)
7675
System.Reflection.Emit.Lightweight (>= 4.6)

src/FsAutoComplete.Core/FsAutoComplete.Core.fsproj

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net6.0</TargetFrameworks>
4-
<TargetFrameworks Condition="'$(BuildNet7)' == 'true'">net6.0;net7.0</TargetFrameworks>
5-
<TargetFrameworks Condition="'$(BuildNet8)' == 'true'">net6.0;net7.0;net8.0</TargetFrameworks>
3+
<TargetFrameworks>net8.0</TargetFrameworks>
4+
<TargetFrameworks Condition="'$(BuildNet9)' == 'true'">net9.0</TargetFrameworks>
65
<IsPackable>false</IsPackable>
76
<NoWarn>$(NoWarn);FS0057</NoWarn> <!-- Allows using experimental FCS APIs -->
87
</PropertyGroup>
98
<ItemGroup>
109
<ProjectReference Include="..\FsAutoComplete.Logging\FsAutoComplete.Logging.fsproj" />
1110
<TrimmerRootAssembly Include="FsAutoComplete.Core" />
12-
</ItemGroup>
11+
</ItemGroup>
12+
<ItemGroup>
13+
<!-- Set of projects to compile against locally -->
14+
<ProjectReference Include="..\..\..\proj-info\src\Ionide.ProjInfo.ProjectSystem\Ionide.ProjInfo.ProjectSystem.fsproj" />
15+
<ProjectReference Include="..\..\..\FSharp.Analyzers.SDK\src\FSharp.Analyzers.SDK\FSharp.Analyzers.SDK.fsproj" />
16+
17+
</ItemGroup>
1318
<ItemGroup>
1419
<Compile Include="SemaphoreSlimLocks.fsi" />
1520
<Compile Include="SemaphoreSlimLocks.fs" />

src/FsAutoComplete.Core/UntypedAstUtils.fs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ module Syntax =
130130
walkType t
131131
walkMemberSig sign
132132
| SynTypeConstraint.WhereSelfConstrained(t, _) -> walkType t
133+
| SynTypeConstraint.WhereTyparNotSupportsNull(t, _, _) -> walkTypar t
133134

134135
and walkPat s =
135136
walker.WalkPat s
@@ -227,6 +228,8 @@ module Syntax =
227228
| SynType.Intersection(typar, types, _, _) ->
228229
Option.iter walkTypar typar
229230
List.iter walkType types
231+
| SynType.StaticConstantNull(_) -> ()
232+
| SynType.WithNull(t, _, _, _) -> walkType t
230233

231234
and walkClause (SynMatchClause(pat, e1, e2, _, _, _) as s) =
232235
walker.WalkClause s
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
FSharp.Analyzers.SDK
1+
FSharp.Core
22
ICSharpCode.Decompiler
33
FSharp.UMX
44
FsToolkit.ErrorHandling.TaskResult
55
Fantomas.Client
66
FSharp.Data.Adaptive
77
IcedTasks
8-
Ionide.ProjInfo.ProjectSystem
98
Microsoft.Build.Utilities.Core
109
Ionide.LanguageServerProtocol
1110
Ionide.KeepAChangelog.Tasks
1211
Microsoft.Extensions.Caching.Memory
1312
Microsoft.CodeAnalysis
1413
LinkDotNet.StringBuilder
1514
CommunityToolkit.HighPerformance
16-
Ionide.Analyzers
17-
FSharp.Analyzers.Build
15+
#Ionide.ProjInfo.ProjectSystem
16+
#FSharp.Analyzers.SDK
17+
#Ionide.Analyzers
18+
#FSharp.Analyzers.Build

src/FsAutoComplete/CodeFixes/AddPrivateAccessModifier.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ let private getRangesAndPlacement input pos =
111111
members
112112
|> List.tryPick (fun m ->
113113
match m with
114-
| SynMemberDefn.AutoProperty(accessibility = None; ident = ident; trivia = trivia) as a when
114+
| SynMemberDefn.AutoProperty(accessibility = SynValSigAccess.Single None; ident = ident; trivia = trivia) as a when
115115
rangeContainsPos ident.idRange pos
116116
->
117117
let editRange =

0 commit comments

Comments
 (0)