Skip to content

Commit 051f5d1

Browse files
authored
Merge pull request #17852 from dotnet/merges/main-to-release/dev17.13
Merge main to release/dev17.13
2 parents 94d49fc + 764f97e commit 051f5d1

File tree

431 files changed

+5535
-6269
lines changed

Some content is hidden

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

431 files changed

+5535
-6269
lines changed

.fantomasignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ src/Compiler/Facilities/AsyncMemoize.fsi
117117
src/Compiler/Facilities/AsyncMemoize.fs
118118
src/Compiler/AbstractIL/il.fs
119119

120+
src/Compiler/Driver/GraphChecking/Graph.fsi
121+
src/Compiler/Driver/GraphChecking/Graph.fs
122+
120123
# Fantomas limitations on implementation files (to investigate)
121124

122125
src/Compiler/AbstractIL/ilwrite.fs

Directory.Build.targets

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,10 @@
1010
<FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/$(NETCoreSdkPortableRuntimeIdentifier)/fsyacc.dll</FsYaccPath>
1111
</PropertyGroup>
1212

13-
<ItemGroup Condition="'$(UnitTestType)' == 'nunit'">
14-
<PackageReference Include="NUnit" Version="$(NUnitVersion)" />
15-
<PackageReference Include="NUnit3TestAdapter" Version="$(NUnit3TestAdapterVersion)" />
16-
<PackageReference Include="NunitXml.TestLogger" Version="$(NunitXmlTestLoggerVersion)" />
17-
</ItemGroup>
18-
1913
<ItemGroup Condition="'$(UnitTestType)' == 'xunit'">
2014
<PackageReference Include="xunit" Version="$(XUnitVersion)" />
2115
<PackageReference Include="xunit.runner.visualstudio" Version="$(XUnitRunnerVersion)" />
22-
<PackageReference Include="NunitXml.TestLogger" Version="$(NunitXmlTestLoggerVersion)" />
16+
<PackageReference Include="XunitXml.TestLogger" Version="$(XunitXmlTestLoggerVersion)" />
2317
</ItemGroup>
2418

2519
<!--

FSharpTests.Directory.Build.targets

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,35 @@
77
Returns=""
88
DependsOnTargets="$(CoreCompileDependsOn)"
99
>
10-
<Fsi Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
11-
CodePage="$(CodePage)"
12-
DefineConstants="$(DefineConstants)"
13-
DisabledWarnings="$(NoWarn)"
14-
DotnetFsiCompilerPath="$(DotnetFsiCompilerPath)"
15-
FsiExec="@(FsiExec)"
16-
LangVersion="$(LangVersion)"
17-
LCID="$(LCID)"
18-
LoadSources="@(LoadSource)"
19-
NoFramework="false"
20-
Optimize="$(Optimize)"
21-
OtherFlags="$(OtherFlags)"
22-
PreferredUILang="$(PreferredUILang)"
23-
ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
24-
UseSources="@(UseSource)"
25-
SkipCompilerExecution="$(SkipCompilerExecution)"
26-
Sources="@(CompileBefore);@(Compile);@(CompileAfter)"
27-
Tailcalls="$(Tailcalls)"
28-
TargetProfile="$(TargetProfile)"
29-
ToolExe="$(FsiToolExe)"
30-
ToolPath="$(FsiToolPath)"
31-
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
32-
Utf8Output="$(Utf8Output)"
33-
WarningLevel="$(WarningLevel)"
34-
WarningsAsErrors="$(WarningsAsErrors)">
35-
<Output TaskParameter="CommandLineArgs" ItemName="FsiCommandLineArgs" />
36-
</Fsi>
10+
<Fsi Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
11+
CodePage="$(CodePage)"
12+
DefineConstants="$(DefineConstants)"
13+
DisabledWarnings="$(NoWarn)"
14+
DotnetFsiCompilerPath="$(DotnetFsiCompilerPath)"
15+
FsiExec="@(FsiExec)"
16+
LangVersion="$(LangVersion)"
17+
LCID="$(LCID)"
18+
LoadSources="@(LoadSource)"
19+
NoFramework="false"
20+
Optimize="$(Optimize)"
21+
OtherFlags="$(OtherFlags)"
22+
PreferredUILang="$(PreferredUILang)"
23+
ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
24+
UseSources="@(UseSource)"
25+
SkipCompilerExecution="$(SkipCompilerExecution)"
26+
Sources="@(CompileBefore);@(Compile);@(CompileAfter)"
27+
Tailcalls="$(Tailcalls)"
28+
TargetProfile="$(TargetProfile)"
29+
ToolExe="$(FsiToolExe)"
30+
ToolPath="$(FsiToolPath)"
31+
TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
32+
Utf8Output="$(Utf8Output)"
33+
WarningLevel="$(WarningLevel)"
34+
WarningsAsErrors="$(WarningsAsErrors)"
35+
CaptureTextOutput="true" >
36+
<Output TaskParameter="CommandLineArgs" ItemName="FsiCommandLineArgs" />
37+
<Output TaskParameter="TextOutput" ItemName="FsiTextOutput" />
38+
</Fsi>
3739

3840
<ItemGroup>
3941
<_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />

TESTGUIDE.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,6 @@ Tags are in the left column, paths to to corresponding test folders are in the r
151151

152152
If you want to re-run a particular test area, the easiest way to do so is to set a temporary tag for that area in test.lst (e.g. "RERUN") and adjust `ttags` [run.fsharpqa.test.fsx script](tests/fsharpqa/run.fsharpqa.test.fsx) and run it.
153153

154-
### VisualFSharp.UnitTests
155-
156-
These are currently NUnit tests (we hope to migrate them to xUnit). You can execute these tests individually via the Visual Studio NUnit3 runner
157-
extension or the command line via `nunit3-console.exe`.
158-
159-
Note that for compatibility reasons, the IDE unit tests should be run in a 32-bit process,
160-
using the `--x86` flag to `nunit3-console.exe`
161-
162154
### Logs and output
163155

164156
All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching

azure-pipelines-PR.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ stages:
487487
- task: PublishTestResults@2
488488
displayName: Publish Test Results
489489
inputs:
490-
testResultsFormat: 'NUnit'
490+
testResultsFormat: 'XUnit'
491491
testResultsFiles: '*.xml'
492492
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
493493
continueOnError: true
@@ -557,7 +557,7 @@ stages:
557557
- task: PublishTestResults@2
558558
displayName: Publish Test Results
559559
inputs:
560-
testResultsFormat: 'NUnit'
560+
testResultsFormat: 'XUnit'
561561
testResultsFiles: '*.xml'
562562
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
563563
continueOnError: true
@@ -600,7 +600,7 @@ stages:
600600
- task: PublishTestResults@2
601601
displayName: Publish Test Results
602602
inputs:
603-
testResultsFormat: 'NUnit'
603+
testResultsFormat: 'XUnit'
604604
testResultsFiles: '*.xml'
605605
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
606606
continueOnError: true

azure-pipelines.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ variables:
2929
# Should be 'current' release branch name, i.e. 'release/dev17.10' in dotnet/fsharp/refs/heads/main, 'release/dev17.10' in dotnet/fsharp/refs/heads/release/dev17.10 and 'release/dev17.9' in dotnet/fsharp/refs/heads/release/dev17.9
3030
# Should **never** be 'main' in dotnet/fsharp/refs/heads/main, since it will start inserting to VS twice.
3131
- name: FSharpReleaseBranchName
32-
value: release/dev17.12
32+
value: release/dev17.13
3333
# VS Insertion branch name (NOT the same as F# branch)
3434
# Should be previous release branch or 'main' in 'main' and 'main' in release branch
3535
# (since for all *new* release branches we insert into VS main and for all *previous* releases we insert into corresponding VS release),
@@ -73,6 +73,9 @@ extends:
7373
sbom:
7474
enabled: false # VS SBOM is generated with other steps
7575
justificationForDisabling: 'SBOM for F# is generated via build process. Will be migrated at later date.'
76+
tsa:
77+
enabled: true
78+
configFile: '$(Build.SourcesDirectory)/eng/TSAConfig.gdntsa'
7679
sourceAnalysisPool:
7780
name: NetCore1ESPool-Svc-Internal
7881
image: 1es-windows-2022
@@ -85,7 +88,7 @@ extends:
8588
# Signed build #
8689
#-------------------------------------------------------------------------------------------------------------------#
8790
# Localization: we only run it for specific release branches
88-
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/dev17.12') }}:
91+
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/dev17.13') }}:
8992
- template: /eng/common/templates-official/job/onelocbuild.yml@self
9093
parameters:
9194
MirrorRepo: fsharp
@@ -143,7 +146,7 @@ extends:
143146
- task: PublishTestResults@2
144147
displayName: Publish Test Results
145148
inputs:
146-
testResultsFormat: 'NUnit'
149+
testResultsFormat: 'XUnit'
147150
testResultsFiles: '*.xml'
148151
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
149152
continueOnError: true

buildtools/fsyacc/fsyaccdriver.fs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,6 @@ let writeSpecToFile (generatorState: GeneratorState) (spec: ParserSpec) (compile
199199
writer.WriteLineInterface "module %s" s;
200200

201201
writer.WriteLine "#nowarn \"64\";; // turn off warnings that type variables used in production annotations are instantiated to concrete type";
202-
writer.WriteLine "#nowarn \"1182\" // the generated code often has unused variable 'parseState'"
203-
writer.WriteLine "#nowarn \"3261\" // the generated code would need to properly annotate nulls, e.g. changing System.Object to `obj|null`";
204202

205203
for s in generatorState.opens do
206204
writer.WriteLine "open %s" s;

docs/builder-caches.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
### Fixed
22

3-
* Fix a bug in the interaction between ``#line` and `#nowarn` directives ([PR #17649](https://github.com/dotnet/fsharp/pull/17649))
43
* Fix wrong TailCall warning ([Issue #17604](https://github.com/dotnet/fsharp/issues/17604), [PR #17637](https://github.com/dotnet/fsharp/pull/17637))
54
* Compiler hangs when compiling inline recursive invocation ([Issue #17376](https://github.com/dotnet/fsharp/issues/17376), [PR #17394](https://github.com/dotnet/fsharp/pull/17394))
65
* Fix reporting IsFromComputationExpression only for CE builder type constructors and let bindings. ([PR #17375](https://github.com/dotnet/fsharp/pull/17375))
@@ -54,7 +53,8 @@
5453
* Better CE error reporting when using `use!` with `and!` ([PR #17671](https://github.com/dotnet/fsharp/pull/17671))
5554
* Better error reporting for let bindings. ([PR #17601](https://github.com/dotnet/fsharp/pull/17601))
5655
* Optimize ILTypeDef interface impls reading from metadata. ([PR #17382](https://github.com/dotnet/fsharp/pull/17382))
56+
* Make ILTypeDef interface impls calculation lazy. ([PR #17392](https://github.com/dotnet/fsharp/pull/17392))
5757
* Better error reporting for active patterns. ([PR #17666](https://github.com/dotnet/fsharp/pull/17666))
58-
58+
* Multiple fsi sessions use separate temporary directories ([PR #17760](https://github.com/dotnet/fsharp/pull/17760))
5959

6060
### Breaking Changes
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
### Fixed
2+
3+
* Fix false negatives for passing null to "obj" arguments. Only "obj | null" can now subsume any type ([PR #17757](https://github.com/dotnet/fsharp/pull/17757))
4+
* Fix internal error when calling 'AddSingleton' and other overloads only differing in generic arity ([PR #17804](https://github.com/dotnet/fsharp/pull/17804))
5+
* Fix extension methods support for non-reference system assemblies ([PR #17799](https://github.com/dotnet/fsharp/pull/17799))
6+
* Ensure `frameworkTcImportsCache` mutations are thread-safe. ([PR #17795](https://github.com/dotnet/fsharp/pull/17795))
7+
* Fix concurrency issue in `ILPreTypeDefImpl` ([PR #17812](https://github.com/dotnet/fsharp/pull/17812))
8+
9+
### Added
10+
11+
* Support literal attribute on decimals ([PR #17769](https://github.com/dotnet/fsharp/pull/17769))
12+
13+
### Changed
14+
15+
* Make ILTypeDef interface impls calculation lazy. ([PR #17392](https://github.com/dotnet/fsharp/pull/17392))
16+
* Remove non-functional useSyntaxTreeCache option. ([PR #17768](https://github.com/dotnet/fsharp/pull/17768))
17+
* Better ranges for CE `let!` and `use!` error reporting. ([PR #17712](https://github.com/dotnet/fsharp/pull/17712))
18+
* Better ranges for CE `do!` error reporting. ([PR #17779](https://github.com/dotnet/fsharp/pull/17779))
19+
* Better ranges for CE `return, yield, return! and yield!` error reporting. ([PR #17792](https://github.com/dotnet/fsharp/pull/17792))
20+
* Better ranges for CE `match!`. ([PR #17789](https://github.com/dotnet/fsharp/pull/17789))
21+
22+
### Breaking Changes

0 commit comments

Comments
 (0)