Skip to content

Commit 7f93f2c

Browse files
authored
Merge branch 'main' into ber.a/fixTypeEquals
2 parents cdb8e93 + 616530c commit 7f93f2c

File tree

75 files changed

+706
-550
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+706
-550
lines changed

DEVGUIDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ To use your custom build of `Fsc`, add the `DotnetFscCompilerPath` property to y
136136

137137
```xml
138138
<PropertyGroup>
139-
<DotnetFscCompilerPath>D:\Git\fsharp\artifacts\bin\fsc\Debug\net9.0\fsc.dll</DotnetFscCompilerPath>
139+
<DotnetFscCompilerPath>D:\Git\fsharp\artifacts\bin\fsc\Debug\net10.0\fsc.dll</DotnetFscCompilerPath>
140140
</PropertyGroup>
141141
```
142142

@@ -277,9 +277,9 @@ dotnet test tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fs
277277
These are IL baseline tests for the core assemblies of the compiler (FSharp.Core and FSharp.Compiler.Service). The baselines are located in the `tests/ILVerify` folder and look like:
278278

279279
```
280-
ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl
280+
ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl
281281
ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl
282-
ilverify_FSharp.Compiler.Service_Release_net9.0.bsl
282+
ilverify_FSharp.Compiler.Service_Release_net10.0.bsl
283283
ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl
284284
ilverify_FSharp.Core_Debug_netstandard2.0.bsl
285285
ilverify_FSharp.Core_Debug_netstandard2.1.bsl

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<LangVersion Condition="'$(FSharpLangVersion)' != ''">$(FSharpLangVersion)</LangVersion>
77
<RepoRoot Condition="'$(RepoRoot)' == ''">$(MSBuildThisFileDirectory)</RepoRoot>
88
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
9-
<FSharpNetCoreProductDefaultTargetFramework>net9.0</FSharpNetCoreProductDefaultTargetFramework>
9+
<FSharpNetCoreProductDefaultTargetFramework>net10.0</FSharpNetCoreProductDefaultTargetFramework>
1010
<IgnoreMibc Condition="'$(IgnoreMibc)' == ''">$(DotNetBuildSourceOnly)</IgnoreMibc>
1111
<!-- When building the .NET product, there's no need to publish Windows PDBs. Any conversion to Windows PDBs will be done during staging, if necessary. -->
1212
<PublishWindowsPdb Condition="'$(DotNetBuild)' == 'true'">false</PublishWindowsPdb>

UseLocalCompiler.Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
<FscToolPath Condition="'$(FscToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FscToolPath>
1212
<FscToolExe Condition="'$(FscToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FscToolExe>
1313

14-
<DotnetFscCompilerPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net9.0/fsc.dll</DotnetFscCompilerPath>
15-
<Fsc_DotNET_DotnetFscCompilerPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net9.0/fsc.dll</Fsc_DotNET_DotnetFscCompilerPath>
14+
<DotnetFscCompilerPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net10.0/fsc.dll</DotnetFscCompilerPath>
15+
<Fsc_DotNET_DotnetFscCompilerPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net10.0/fsc.dll</Fsc_DotNET_DotnetFscCompilerPath>
1616

1717
<FSharpPreferNetFrameworkTools>False</FSharpPreferNetFrameworkTools>
1818
<FSharpPrefer64BitTools>True</FSharpPrefer64BitTools>
1919
</PropertyGroup>
2020

2121
<PropertyGroup Condition="'$(LoadLocalFSharpBuild)' == 'True'">
22-
<LocalFSharpBuildBinPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net9.0</LocalFSharpBuildBinPath>
22+
<LocalFSharpBuildBinPath>$(LocalFSharpCompilerPath)/artifacts/bin/fsc/$(LocalFSharpCompilerConfiguration)/net10.0</LocalFSharpBuildBinPath>
2323
<FSharpBuildAssemblyFile>$(LocalFSharpBuildBinPath)/FSharp.Build.dll</FSharpBuildAssemblyFile>
2424
<FSharpTargetsPath>$(LocalFSharpBuildBinPath)/Microsoft.FSharp.Targets</FSharpTargetsPath>
2525
<FSharpPropsShim>$(LocalFSharpBuildBinPath)/Microsoft.FSharp.NetSdk.props</FSharpPropsShim>

buildtools/checkpackages/FSharp.Compiler.Service_notshipped.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Import Project="$(MSBuildProjectDirectory)\..\..\eng\Versions.props" />
44

55
<PropertyGroup>
6-
<TargetFramework>net9.0</TargetFramework>
6+
<TargetFramework>net10.0</TargetFramework>
77
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
88
<CachePath>$(MSBuildProjectDirectory)\..\..\artifacts\tmp\$([System.Guid]::NewGuid())</CachePath>
99
<OutputPath>$(CachePath)\bin</OutputPath>

buildtools/checkpackages/FSharp.Core_notshipped.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Import Project="$(MSBuildProjectDirectory)\..\..\eng\Versions.props" />
44

55
<PropertyGroup>
6-
<TargetFramework>net9.0</TargetFramework>
6+
<TargetFramework>net10.0</TargetFramework>
77
</PropertyGroup>
88

99
<PropertyGroup>

docs/release-notes/.FSharp.Compiler.Service/10.0.100.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
* Fix nullness warnings when casting non-nullable values to `IEquatable<T>` to match C# behavior. ([Issue #18759](https://github.com/dotnet/fsharp/issues/18759))
2020
* Fix IsByRefLikeAttribute types being incorrectly suppressed in completion lists. Types like `Span<T>` and `ReadOnlySpan<T>` now appear correctly in IntelliSense.
2121

22+
* Fix SRTP nullness constraint resolution for types imported from older assemblies. AmbivalentToNull types now use legacy F# nullness rules instead of always satisfying `'T : null` constraints. ([Issue #18390](https://github.com/dotnet/fsharp/issues/18390), [Issue #18344](https://github.com/dotnet/fsharp/issues/18344))
23+
* Fix Show XML doc for enum fields in external metadata ([Issue #17939](https://github.com/dotnet/fsharp/issues/17939#issuecomment-3137410105), [PR #18800](https://github.com/dotnet/fsharp/pull/18800))
24+
2225
### Changed
2326
* Use `errorR` instead of `error` in `CheckDeclarations.fs` when possible. ([PR #18645](https://github.com/dotnet/fsharp/pull/18645))
2427

@@ -29,7 +32,7 @@
2932
* `SynExprRecordField` now includes a `range` field ([PR #18617](https://github.com/dotnet/fsharp/pull/18617))
3033
* Mark `Range.Zero` as obsolete in favor of `Range.range0` ([PR #18664](https://github.com/dotnet/fsharp/pull/18664))
3134
* Use `Synbinding` to model `and!` ([PR #18805](https://github.com/dotnet/fsharp/pull/18805))
32-
* Redesign #line processing. The original positions (unaffected by #line directives) are now kept in the AST, and `__LINE__` and `__SOURCE_LINE__` show the original line numbers / file names. However, all diagnostics and debug information stays the same (shows the position transformed by the #line directives). ([Issue #18553](https://github.com/dotnet/fsharp/issues/18553), [PR #18699](https://github.com/dotnet/fsharp/pull/18699))
35+
* Redesign #line processing. The original positions (unaffected by #line directives) are now kept in the AST, and `__LINE__` and `__SOURCE_LINE__` show the original line numbers / file names. However, all diagnostics and debug information stays the same (shows the position transformed by the #line directives). ([Issue #18553](https://github.com/dotnet/fsharp/issues/18553), [PR #18699](https://github.com/dotnet/fsharp/pull/18699), [PR 18828](https://github.com/dotnet/fsharp/pull/18828), [PR 18829](https://github.com/dotnet/fsharp/pull/18829))
3336
* Unify `let`, `let!`, `use` and `use!` AST representation. ([PR #18825](https://github.com/dotnet/fsharp/pull/18825))[^1]
3437

3538
### Migration Guidance for AST Users

eng/Build.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ param (
3535
# Options
3636
[switch][Alias('proto')]$bootstrap,
3737
[string]$bootstrapConfiguration = "Proto",
38-
[string]$bootstrapTfm = "net9.0",
39-
[string]$fsharpNetCoreProductTfm = "net9.0",
38+
[string]$bootstrapTfm = "net10.0",
39+
[string]$fsharpNetCoreProductTfm = "net10.0",
4040
[switch][Alias('bl')]$binaryLog = $true,
4141
[switch][Alias('nobl')]$excludeCIBinaryLog = $false,
4242
[switch][Alias('nolog')]$noBinaryLog = $false,
@@ -83,7 +83,7 @@ $BuildCategory = ""
8383
$BuildMessage = ""
8484

8585
$desktopTargetFramework = "net472"
86-
$coreclrTargetFramework = "net9.0"
86+
$coreclrTargetFramework = "net10.0"
8787

8888
function Print-Usage() {
8989
Write-Host "Common settings:"

eng/Version.Details.props

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ This file should be imported by eng/Versions.props
1919
<SystemReflectionMetadataPackageVersion>9.0.0</SystemReflectionMetadataPackageVersion>
2020
<SystemThreadingTasksDataflowPackageVersion>9.0.0</SystemThreadingTasksDataflowPackageVersion>
2121
<!-- dotnet/arcade dependencies -->
22-
<MicrosoftDotNetArcadeSdkPackageVersion>10.0.0-beta.25401.2</MicrosoftDotNetArcadeSdkPackageVersion>
22+
<MicrosoftDotNetArcadeSdkPackageVersion>10.0.0-beta.25413.1</MicrosoftDotNetArcadeSdkPackageVersion>
2323
<!-- _git/dotnet-optimization dependencies -->
24-
<optimizationlinuxarm64MIBCRuntimePackageVersion>1.0.0-prerelease.25405.1</optimizationlinuxarm64MIBCRuntimePackageVersion>
25-
<optimizationlinuxx64MIBCRuntimePackageVersion>1.0.0-prerelease.25405.1</optimizationlinuxx64MIBCRuntimePackageVersion>
26-
<optimizationwindows_ntarm64MIBCRuntimePackageVersion>1.0.0-prerelease.25405.1</optimizationwindows_ntarm64MIBCRuntimePackageVersion>
27-
<optimizationwindows_ntx64MIBCRuntimePackageVersion>1.0.0-prerelease.25405.1</optimizationwindows_ntx64MIBCRuntimePackageVersion>
28-
<optimizationwindows_ntx86MIBCRuntimePackageVersion>1.0.0-prerelease.25405.1</optimizationwindows_ntx86MIBCRuntimePackageVersion>
24+
<optimizationlinuxarm64MIBCRuntimePackageVersion>1.0.0-prerelease.25413.5</optimizationlinuxarm64MIBCRuntimePackageVersion>
25+
<optimizationlinuxx64MIBCRuntimePackageVersion>1.0.0-prerelease.25413.5</optimizationlinuxx64MIBCRuntimePackageVersion>
26+
<optimizationwindows_ntarm64MIBCRuntimePackageVersion>1.0.0-prerelease.25413.5</optimizationwindows_ntarm64MIBCRuntimePackageVersion>
27+
<optimizationwindows_ntx64MIBCRuntimePackageVersion>1.0.0-prerelease.25413.5</optimizationwindows_ntx64MIBCRuntimePackageVersion>
28+
<optimizationwindows_ntx86MIBCRuntimePackageVersion>1.0.0-prerelease.25413.5</optimizationwindows_ntx86MIBCRuntimePackageVersion>
2929
</PropertyGroup>
3030
<!--Property group for alternate package version names-->
3131
<PropertyGroup>

eng/Version.Details.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Dependencies>
3-
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="8cb85e042157ddb8122121a13b7b05329636214c" BarId="278022" />
3+
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="adfea8e331724cfd46007dfefec405b5e5faad1d" BarId="279079" />
44
<ProductDependencies>
55
<Dependency Name="Microsoft.Build" Version="17.15.0-preview-25278-01">
66
<Uri>https://github.com/dotnet/msbuild</Uri>
@@ -44,29 +44,29 @@
4444
</Dependency>
4545
</ProductDependencies>
4646
<ToolsetDependencies>
47-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25401.2">
47+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25413.1">
4848
<Uri>https://github.com/dotnet/arcade</Uri>
49-
<Sha>40693ae2ee51e447f6ca96d07bc1ba779dcb9b9c</Sha>
49+
<Sha>ea9e51a7080f13abb409a9dcfd9ea957ecab01ae</Sha>
5050
</Dependency>
51-
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.25405.1">
51+
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.25413.5">
5252
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
53-
<Sha>48d2ef546dc00d3f3eeda4d083fda7aeaf66a546</Sha>
53+
<Sha>e7f12ca10fc5b13e4ebc33244b585081da7f8bfb</Sha>
5454
</Dependency>
55-
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.25405.1">
55+
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.25413.5">
5656
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
57-
<Sha>48d2ef546dc00d3f3eeda4d083fda7aeaf66a546</Sha>
57+
<Sha>e7f12ca10fc5b13e4ebc33244b585081da7f8bfb</Sha>
5858
</Dependency>
59-
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.25405.1">
59+
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.25413.5">
6060
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
61-
<Sha>48d2ef546dc00d3f3eeda4d083fda7aeaf66a546</Sha>
61+
<Sha>e7f12ca10fc5b13e4ebc33244b585081da7f8bfb</Sha>
6262
</Dependency>
63-
<Dependency Name="optimization.windows_nt-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25405.1">
63+
<Dependency Name="optimization.windows_nt-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25413.5">
6464
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
65-
<Sha>48d2ef546dc00d3f3eeda4d083fda7aeaf66a546</Sha>
65+
<Sha>e7f12ca10fc5b13e4ebc33244b585081da7f8bfb</Sha>
6666
</Dependency>
67-
<Dependency Name="optimization.linux-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25405.1">
67+
<Dependency Name="optimization.linux-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25413.5">
6868
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
69-
<Sha>48d2ef546dc00d3f3eeda4d083fda7aeaf66a546</Sha>
69+
<Sha>e7f12ca10fc5b13e4ebc33244b585081da7f8bfb</Sha>
7070
</Dependency>
7171
</ToolsetDependencies>
7272
</Dependencies>

eng/build-utils.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ $nodeReuse = if (Test-Path variable:nodeReuse) { $nodeReuse } else { $false }
1414
$bootstrapDir = if (Test-Path variable:bootstrapDir) { $bootstrapDir } else { "" }
1515
$bootstrapConfiguration = if (Test-Path variable:bootstrapConfiguration) { $bootstrapConfiguration } else { "Proto" }
1616
$bootstrapTfm = if (Test-Path variable:bootstrapTfm) { $bootstrapTfm } else { "net472" }
17-
$fsharpNetCoreProductTfm = if (Test-Path variable:fsharpNetCoreProductTfm) { $fsharpNetCoreProductTfm } else { "net9.0" }
17+
$fsharpNetCoreProductTfm = if (Test-Path variable:fsharpNetCoreProductTfm) { $fsharpNetCoreProductTfm } else { "net10.0" }
1818
$properties = if (Test-Path variable:properties) { $properties } else { @() }
1919

2020
function GetProjectOutputBinary([string]$fileName, [string]$projectName = "", [string]$configuration = $script:configuration, [string]$tfm = "net472", [string]$rid = "", [bool]$published = $false) {

0 commit comments

Comments
 (0)