Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
52c0649
Update azure-pipelines.yml
vzarytovskii Oct 8, 2024
94d49fc
Merge pull request #17850 from dotnet/merges/release/dev17.12-to-rele…
vzarytovskii Oct 8, 2024
764f97e
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Oct 8, 2024
051f5d1
Merge pull request #17852 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Oct 8, 2024
99b02b2
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Oct 9, 2024
1827c9b
Localized file check-in by OneLocBuild Task: Build definition ID 499:…
dotnet-bot Oct 9, 2024
063654f
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Oct 9, 2024
a213e83
Merge pull request #17855 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Oct 9, 2024
a9b108c
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Oct 9, 2024
13771ee
Merge branch 'release/dev17.13' into merges/release/dev17.12-to-relea…
T-Gro Oct 10, 2024
25fa115
Merge pull request #17861 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 10, 2024
1762e57
Merge branch 'release/dev17.13' into merges/release/dev17.12-to-relea…
T-Gro Oct 10, 2024
3571f70
Merge pull request #17862 from dotnet/merges/release/dev17.12-to-rele…
T-Gro Oct 10, 2024
200b7f4
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Oct 10, 2024
d4b0fce
Merge pull request #17869 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 10, 2024
4243f8f
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Oct 14, 2024
36cb76c
Merge pull request #17873 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 14, 2024
189564f
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Oct 16, 2024
c53a85c
Merge pull request #17885 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 16, 2024
af91595
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Oct 16, 2024
7ce6e40
Merge pull request #17890 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 16, 2024
635e73a
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Oct 17, 2024
2f65355
Merge pull request #17892 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 17, 2024
a269121
Merge pull request #17895 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Oct 22, 2024
d6008d6
Merge branch 'release/dev17.13' into merges/release/dev17.12-to-relea…
T-Gro Oct 23, 2024
6a0829b
Merge pull request #17910 from dotnet/merges/release/dev17.12-to-rele…
T-Gro Oct 23, 2024
2f29080
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Oct 23, 2024
6482de0
Merge pull request #17908 from dotnet/merges/main-to-release/dev17.13
T-Gro Oct 23, 2024
4c6860a
Localized file check-in by OneLocBuild Task: Build definition ID 499:…
dotnet-bot Oct 23, 2024
98f7ab6
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
KevinRansom Oct 23, 2024
13eb328
Merge pull request #17914 from dotnet/merges/main-to-release/dev17.13
KevinRansom Oct 25, 2024
7e36f3d
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
KevinRansom Oct 27, 2024
974c7cf
Merge pull request #17926 from dotnet/merges/main-to-release/dev17.13
KevinRansom Oct 29, 2024
885d637
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
psfinaki Oct 29, 2024
02f6bb0
Merge pull request #17936 from dotnet/merges/main-to-release/dev17.13
psfinaki Oct 29, 2024
1ee8b6c
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Nov 1, 2024
2ede9ec
Merge pull request #17941 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 1, 2024
275fb80
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Nov 1, 2024
6dcaa8d
Merge pull request #17947 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 4, 2024
abce1c5
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Nov 4, 2024
6d6e689
Merge pull request #17954 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 5, 2024
e615c28
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Nov 6, 2024
a29b58f
Merge pull request #17958 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 6, 2024
b6480e8
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Nov 7, 2024
9704831
Merge pull request #17967 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 7, 2024
f732160
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Nov 7, 2024
4d2390a
Merge pull request #17972 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 8, 2024
005de12
Localized file check-in by OneLocBuild Task: Build definition ID 499:…
dotnet-bot Nov 8, 2024
ab3798a
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Nov 8, 2024
28c4395
Merge pull request #17983 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 8, 2024
3612d1f
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Nov 10, 2024
e9dab83
Merge pull request #17985 from dotnet/merges/main-to-release/dev17.13
T-Gro Nov 11, 2024
ef359ab
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
KevinRansom Nov 20, 2024
97c6172
Merge pull request #18030 from dotnet/merges/main-to-release/dev17.13
KevinRansom Nov 20, 2024
3dc980e
Merge main to release/dev17.13 (#18080)
dotnet-bot Nov 28, 2024
0c73988
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Nov 28, 2024
6a1d188
Merge pull request #18083 from dotnet/merges/main-to-release/dev17.13
T-Gro Dec 3, 2024
a6108d9
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Dec 5, 2024
4f84157
Merge pull request #18102 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Dec 5, 2024
29b0172
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Dec 5, 2024
96e77ae
Merge pull request #18108 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Dec 6, 2024
a861c28
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Dec 9, 2024
446f247
Merge pull request #18110 from dotnet/merges/main-to-release/dev17.13
vzarytovskii Dec 9, 2024
7983f9f
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
psfinaki Dec 11, 2024
a6fc9bb
Merge pull request #18122 from dotnet/merges/main-to-release/dev17.13
T-Gro Dec 11, 2024
6a93b99
Merge main to release/dev17.13 (#18131)
dotnet-bot Dec 12, 2024
c64b714
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
vzarytovskii Dec 13, 2024
a052d35
Merge pull request #18133 from dotnet/merges/main-to-release/dev17.13
psfinaki Dec 13, 2024
df35236
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
T-Gro Dec 13, 2024
673e82b
Merge pull request #18138 from dotnet/merges/main-to-release/dev17.13
KevinRansom Dec 14, 2024
96975ad
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
psfinaki Dec 16, 2024
ea682d0
Merge pull request #18146 from dotnet/merges/main-to-release/dev17.13
psfinaki Dec 16, 2024
ee84e06
Merge branch 'release/dev17.13' into merges/main-to-release/dev17.13
psfinaki Dec 17, 2024
5af9650
Merge pull request #18151 from dotnet/merges/main-to-release/dev17.13
psfinaki Dec 17, 2024
63a0928
Merge pull request #18204 from dotnet/main
KevinRansom Jan 6, 2025
7c8705f
Merge branch 'main' into merges/release/dev17.13-to-main
psfinaki Jan 8, 2025
9ac324d
Show obsolete warnings/errors when used with unit of measure (#18182)
edgarfgp Jan 9, 2025
88463f8
Merge pull request #18214 from dotnet/merges/release/dev17.13-to-main
0101 Jan 9, 2025
77e7e08
Versioning for 17.14 and 9.0.300 (#18222)
vzarytovskii Jan 9, 2025
b204f87
Fix AsyncLazy cancellation (#18211)
majocha Jan 9, 2025
dfffae6
OpenTelemetry instrumentation for xUnit tests (#18230)
majocha Jan 13, 2025
ec2b3d9
Make nullness equivalent warning message clearer. (#18172)
isaacabraham Jan 13, 2025
9420232
Update dependencies from https://github.com/dotnet/source-build-refer…
dotnet-maestro[bot] Jan 13, 2025
05362a8
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Jan 13, 2025
c350a41
Fix `fsi` auto-loading of script file inside NuGet package. (#18177)
teo-tsirpanis Jan 13, 2025
9f360ed
Fix #17797 -- Realsig+ generates nested closures with incorrect Gener…
KevinRansom Jan 14, 2025
b2f2065
"#if" directive around nullness removed fromsrc/Compiler/DependencyMa…
progressive-galib Jan 14, 2025
9b34544
Enable OpenTelemetry for Desktop target in xUnit tests (#18233)
majocha Jan 15, 2025
c73b216
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Jan 16, 2025
8473ce6
Set Cancellable.token from async computation (#18238)
majocha Jan 16, 2025
7c598f4
Simplify Dependencies a tad (#18236)
KevinRansom Jan 16, 2025
4fcf1a7
Update dependencies from https://github.com/dotnet/source-build-refer…
dotnet-maestro[bot] Jan 17, 2025
72ab794
Added missing type constraints in FCS (#18241)
ncave Jan 20, 2025
3d780e0
Update VSInsertionTargetBranchName and version (#18243)
0101 Jan 20, 2025
5bfbc6d
Fix internal error when missing measure attribute in an unsolved meas…
edgarfgp Jan 20, 2025
4b676b4
Update `Obsolete` attribute checking to account for `diagnosticId` an…
edgarfgp Jan 20, 2025
8660de9
Update azure-pipelines.yml
T-Gro Jan 20, 2025
ba6d854
Merge branch 'main' into merges/release/dev17.13-to-main
T-Gro Jan 20, 2025
686dcab
Merge pull request #18248 from dotnet/merges/release/dev17.13-to-main
0101 Jan 20, 2025
9800899
Remove FSharpProjectOptions from Transparent Compiler check results (…
0101 Jan 21, 2025
950437d
Update devcontainer .NET version + bump to latest fscore version (#18…
vzarytovskii Jan 21, 2025
2d6b138
Took some fixes from FSharp.TypeProvider.SDK to TestTP. (#18252)
Thorium Jan 23, 2025
c4d36d6
Pass restore config file arg to bootstrap build (#18260)
mmitche Jan 23, 2025
a3bf3c9
Tests: Fix flaky `AssemblyVersion` tests (#18268)
majocha Jan 27, 2025
013c998
Replace internal option–voption conversions with FSharp.Core funcs (#…
brianrourkeboll Jan 27, 2025
06e27ed
Add reminder to check /.dotnet dir when tests fail to find SDK (#18271)
brianrourkeboll Jan 27, 2025
2edab12
Add GH action to manage servicing branch codeflow. (#18267)
JoeRobich Jan 27, 2025
a9f59cd
Add ILVerification to test framework (#18255)
KevinRansom Jan 29, 2025
afb15f0
remove redundant ifdef (#18284)
majocha Jan 29, 2025
58560f8
Cancellable: only cancel on OCE with own token (#18277)
auduchinok Jan 29, 2025
5b910af
Bugfix :: Fix optimizer bug where field.Index included compiler gener…
T-Gro Feb 3, 2025
3195041
Bugfix :: Support for 'use' on a nullable IDisposable (#18262)
T-Gro Feb 3, 2025
4583331
Cancellable: set token in more places (#18283)
auduchinok Feb 3, 2025
d3bd758
[main] Update dependencies from dotnet/source-build-reference-package…
dotnet-maestro[bot] Feb 3, 2025
0263870
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Feb 3, 2025
bacc160
Bugfix: Warn when upcast drops nullness via FindUniqueFeasibleSuperty…
T-Gro Feb 4, 2025
1f9b0ce
Cancellable: remove UsingToken usages in tests (#18276)
auduchinok Feb 4, 2025
10b812b
Bugfix :: Flexible types should subsume nullable version of equivalen…
T-Gro Feb 4, 2025
adb02dc
Bugfix:: Add missing codegen for mapping of overlapped struct DU fiel…
T-Gro Feb 4, 2025
5ef029b
Add missing project reference from FSharpSuite to fsc project (#18291)
T-Gro Feb 5, 2025
674e099
Symbols: Add FSharpAssembly.IsFSharp (#18290)
auduchinok Feb 5, 2025
709a002
Merge branch 'feature/lsp' into merge/main-to-feature/lsp
0101 Feb 6, 2025
25db8cf
comment out jaeger export for workspace tests
0101 Feb 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 8 additions & 8 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,19 @@
],
"rollForward": true
},
"dotnet-ilverify": {
"version": "9.0.0-rc.2.24473.5",
"commands": [
"ilverify"
],
"rollForward": true
},
"fantomas": {
"version": "6.2.3",
"commands": [
"fantomas"
],
"rollForward": true
},
"dotnet-ilverify": {
"version": "9.0.0",
"commands": [
"ilverify"
],
"rollForward": false
}
}
}
}
8 changes: 8 additions & 0 deletions .config/feature-lsp-branch-merge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"merge-flow-configurations": {
"main": {
"MergeToBranch": "feature/lsp",
"ExtraSwitches": "-QuietComments"
}
}
}
13 changes: 13 additions & 0 deletions .config/service-branch-merge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"merge-flow-configurations": {
// regular branch flow
"release/dev17.13": {
"MergeToBranch": "main",
"ExtraSwitches": "-QuietComments"
},
"main": {
"MergeToBranch": "release/dev17.14",
"ExtraSwitches": "-QuietComments"
}
}
}
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
{
"name": "F#",
"image": "mcr.microsoft.com/dotnet/sdk:9.0.100",
"image": "mcr.microsoft.com/dotnet/sdk:9.0.102",
"features": {
"ghcr.io/devcontainers/features/common-utils:2.5.1": {},
"ghcr.io/devcontainers/features/common-utils:2.5.2": {},
"ghcr.io/devcontainers/features/git:1.3.2": {},
"ghcr.io/devcontainers/features/github-cli:1.0.13": {},
"ghcr.io/devcontainers/features/dotnet:2.1.3": {}
"ghcr.io/devcontainers/features/dotnet:2.2.0": {}
},
"hostRequirements": {
"cpus": 2,
Expand Down
3 changes: 3 additions & 0 deletions .fantomasignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ src/Compiler/Checking/SignatureConformance.fs
src/Compiler/Checking/TypeHierarchy.fs
src/Compiler/Checking/TypeRelations.fs

# nullness-related problems
src/Compiler/DependencyManager/DependencyProvider.fs

# Incorrectly formatted: https://github.com/dotnet/fsharp/pull/14645/commits/49443a67ea8a17670c8a7c80c8bdf91f82231e91 or https://github.com/fsprojects/fantomas/issues/2733
# This CompilerImports.fs behavior is not fixed yet, following up in https://github.com/fsprojects/fantomas/issues/2733
src/Compiler/Driver/CompilerImports.fs
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/branch-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Merges any changes from servicing branches forward.

name: Flow servicing changes to main
on:
push:
branches:
- 'release/*'
- 'main'

permissions:
contents: write
pull-requests: write

jobs:
servicing-flow:
uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@main
with:
configuration_file_path: '.config/service-branch-merge.json'
feature-lsp-flow:
uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@main
with:
configuration_file_path: '.config/feature-lsp-branch-merge.json'
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,9 @@ tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstanda
/tests/AheadOfTime/Trimming/output.txt
*.svclog
micro.exe
positive.exe
positive.exe
/tests/FSharp.Compiler.ComponentTests/FSharpChecker/StandardError.txt
/tests/FSharp.Compiler.ComponentTests/FSharpChecker/StandardOutput.txt

# ilverify baseline result files
*.bsl.actual
37 changes: 37 additions & 0 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,33 @@ Linux/macOS:
export TEST_UPDATE_BSL=1
```

## Retain Test run built artifacts

When investigating tests issues it is sometimes useful to examine the artifacts built when running tests. Those built using the newer test framework are usually,
built in the %TEMP%\FSharp.Test.Utilities subdirectory.

To tell the test framework to not cleanup these files use the: FSHARP_RETAIN_TESTBUILDS environment variable

Windows:

CMD:

```shell
set FSHARP_RETAIN_TESTBUILDS=1
```

PowerShell:

```shell
$env:FSHARP_RETAIN_TESTBUILDS=1
```

Linux/macOS:

```shell
export FSHARP_RETAIN_TESTBUILDS=1
```

Next, run a build script build (debug or release, desktop or coreclr, depending which baselines you need to update), and test as described [above](#Testing-from-the-command-line). For example:

`./Build.cmd -c Release -testCoreClr` to update Release CoreCLR baselines.
Expand All @@ -216,6 +243,16 @@ or
> Please note, that by default, **Release** version of IL baseline tests will be running in CI, so when updating baseline (.bsl) files, make sure to add `-c Release` flag to the build command.


### Parallel execution of tests

Tests utilizing xUnit framework by default run in parallel. If your tests depend on some shared state or are time-critical, you can add the module to predefined `NotThreadSafeResourceCollection` to prevent parallel execution.
For example:
```fsharp
[<Collection(nameof NotThreadSafeResourceCollection)>]
module TimeCritical =
```


### Updating FCS surface area baselines

```bash
Expand Down
4 changes: 2 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ variables:
# 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
# Should **never** be 'main' in dotnet/fsharp/refs/heads/main, since it will start inserting to VS twice.
- name: FSharpReleaseBranchName
value: release/dev17.13
value: release/dev17.14
# VS Insertion branch name (NOT the same as F# branch)
# Should be previous release branch or 'main' in 'main' and 'main' in release branch
# (since for all *new* release branches we insert into VS main and for all *previous* releases we insert into corresponding VS release),
Expand Down Expand Up @@ -88,7 +88,7 @@ extends:
# Signed build #
#-------------------------------------------------------------------------------------------------------------------#
# Localization: we only run it for specific release branches
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/dev17.13') }}:
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/dev17.14') }}:
- template: /eng/common/templates-official/job/onelocbuild.yml@self
parameters:
MirrorRepo: fsharp
Expand Down
7 changes: 5 additions & 2 deletions docs/release-notes/.FSharp.Compiler.Service/9.0.200.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
### Fixed

* Fix Realsig+ generates nested closures with incorrect Generic ([Issue #17797](https://github.com/dotnet/fsharp/issues/17797), [PR #17877](https://github.com/dotnet/fsharp/pull/17877))
* Fix missing TailCall warning in Sequential in use scope ([PR #17927](https://github.com/dotnet/fsharp/pull/17927))
* 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))
* Fix internal error when calling 'AddSingleton' and other overloads only differing in generic arity ([PR #17804](https://github.com/dotnet/fsharp/pull/17804))
Expand All @@ -21,6 +22,8 @@
* Completion: fix qualified completion in sequence expressions [PR #18111](https://github.com/dotnet/fsharp/pull/18111)
* Symbols: try to use ValReprInfoForDisplay in Mfv.CurriedParameterGroups ([PR #18124](https://github.com/dotnet/fsharp/pull/18124))
* Shim/file system: fix leaks of the shim [PR #18144](https://github.com/dotnet/fsharp/pull/18144)
* fsi: fix auto-loading of script file inside NuGet package ([PR #18177](https://github.com/dotnet/fsharp/pull/18177))
* Fix for `Obsolete` attribute warning/error not taken into account when used with a unit of measure [PR #18182](https://github.com/dotnet/fsharp/pull/18182)

### Added

Expand Down Expand Up @@ -52,8 +55,8 @@
* Better ranges for #nowarn error reporting; bring back #nowarn warnings for --langVersion:80; add warnings under feature flag ([PR #17871](https://github.com/dotnet/fsharp/pull/17871))
* CheckAndThrow can be invoked only from within Cancellable context ([PR #18037](https://github.com/dotnet/fsharp/pull/18037))
* Make ILTypeDef base type calculation lazy. ([PR #18005](https://github.com/dotnet/fsharp/pull/18005))
* "#if" directive around nullness removed from src/Compiler/TypedTree/TypedTreePickle.fs and refactored. ([PR #18203](https://github.com/dotnet/fsharp/pull/18203))
* Removed redundant hash directives around nullness syntax ([Issue #18601](https://github.com/dotnet/fsharp/issues/18061), [PR #18203](https://github.com/dotnet/fsharp/pull/18203), [PR #18207](https://github.com/dotnet/fsharp/pull/18207))

### Breaking Changes

* Aliasing `StructAttribute` will now produce a warning (part of [Language suggestion #1136](https://github.com/fsharp/fslang-suggestions/issues/1136), [PR #18098](https://github.com/dotnet/fsharp/pull/18098))
* Aliasing `StructAttribute` will now produce a warning (part of [Language suggestion #1136](https://github.com/fsharp/fslang-suggestions/issues/1136), [PR #18098](https://github.com/dotnet/fsharp/pull/18098))
23 changes: 23 additions & 0 deletions docs/release-notes/.FSharp.Compiler.Service/9.0.300.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
### Fixed
* Fix Realsig+ generates nested closures with incorrect Generic ([Issue #17797](https://github.com/dotnet/fsharp/issues/17797), [PR #17877](https://github.com/dotnet/fsharp/pull/17877))
* Fix optimizer internal error for records with static fields ([Issue #18165](https://github.com/dotnet/fsharp/issues/18165), [PR #18280](https://github.com/dotnet/fsharp/pull/18280))
* Fix nullness warning with flexible types ([Issue #18056](https://github.com/dotnet/fsharp/issues/18056), [PR #18266](https://github.com/dotnet/fsharp/pull/18266))
* Fix internal error when missing measure attribute in an unsolved measure typar. ([Issue #7491](https://github.com/dotnet/fsharp/issues/7491), [PR #18234](https://github.com/dotnet/fsharp/pull/18234)==
* Set `Cancellable.token` from async computation ([Issue #18235](https://github.com/dotnet/fsharp/issues/18235), [PR #18238](https://github.com/dotnet/fsharp/pull/18238))
* Fix missing nullness warning when static upcast dropped nullness ([Issue #18232](https://github.com/dotnet/fsharp/issues/18232), [PR #18261](https://github.com/dotnet/fsharp/pull/18261))
* Cancellable: only cancel on OCE with own token ([PR #18277](https://github.com/dotnet/fsharp/pull/18277))
* Cancellable: set token in more places ([PR #18283](https://github.com/dotnet/fsharp/pull/18283))

### Added
* Added missing type constraints in FCS. ([PR #18241](https://github.com/dotnet/fsharp/pull/18241))
* The 'use' keyword can be used on IDisposable|null without nullness warnings ([PR #18262](https://github.com/dotnet/fsharp/pull/18262))
* Symbols: Add FSharpAssembly.IsFSharp ([PR #18290](https://github.com/dotnet/fsharp/pull/18290))

### Changed

* FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. ([PR #18205](https://github.com/dotnet/fsharp/pull/18205))
* Update `Obsolete` attribute checking to account for `DiagnosticId` and `UrlFormat` properties. ([PR #18224](https://github.com/dotnet/fsharp/pull/18224))
* Remove `Cancellable.UsingToken` from tests ([PR #18276](https://github.com/dotnet/fsharp/pull/18276))

### Breaking Changes
* Struct unions with overlapping fields now generate mappings needed for reading via reflection ([Issue #18121](https://github.com/dotnet/fsharp/issues/17797), [PR #18274](https://github.com/dotnet/fsharp/pull/17877))
8 changes: 8 additions & 0 deletions docs/release-notes/.FSharp.Core/9.0.300.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### Fixed

### Added

### Changed

### Breaking Changes
* Struct unions with overlapping fields now generate mappings needed for reading via reflection ([Issue #18121](https://github.com/dotnet/fsharp/issues/17797), [PR #18274](https://github.com/dotnet/fsharp/pull/17877)). Previous versions of FSharp.Core returned incomplete mapping between fields and cases, these older fslib versions will now report an exception.
3 changes: 2 additions & 1 deletion eng/DotNetBuild.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<PropertyGroup>
<SourceBuildBootstrapTfmArg Condition="$(SourceBuildBootstrapTfm) != ''">--tfm $(SourceBuildBootstrapTfm)</SourceBuildBootstrapTfmArg>
<DotNetBuildUseMonoRuntime Condition="'$(DotNetBuildUseMonoRuntime)' == ''">false</DotNetBuildUseMonoRuntime>
<SourceBuildBootstrapRestoreConfigFileArg Condition="'$(RestoreConfigFile)' != ''" >/p:RestoreConfigFile=$(RestoreConfigFile)</SourceBuildBootstrapRestoreConfigFileArg>
</PropertyGroup>

<!-- this runs the source-build bootstrap path as described in https://github.com/dotnet/fsharp/blob/95df49e380ea8dbf33653fa4209f89dba29413f5/eng/build.sh#L247
Expand All @@ -41,7 +42,7 @@
-bl enables the binlogs for the tools and Proto builds, which make debugging failures here easier
-->
<Exec
Command="./build.sh --bootstrap --skipBuild -bl $(SourceBuildBootstrapTfmArg) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime) /p:DotNetBuildSourceOnly=true /p:DotNetBuildInnerRepo=true /p:DotNetBuildRepo=true /p:DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)"
Command="./build.sh --bootstrap --skipBuild -bl $(SourceBuildBootstrapTfmArg) $(SourceBuildBootstrapRestoreConfigFileArg) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime) /p:DotNetBuildSourceOnly=true /p:DotNetBuildInnerRepo=true /p:DotNetBuildRepo=true /p:DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)"
WorkingDirectory="$(InnerSourceBuildRepoRoot)"
EnvironmentVariables="@(InnerBuildEnv)" />
</Target>
Expand Down
12 changes: 6 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.24619.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.25081.6">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>e2b1d16fd66540b3a5813ec0ac1fd166688c3e0a</Sha>
<Sha>1cec3b4a8fb07138136a1ca1e04763bfcf7841db</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
Expand Down Expand Up @@ -42,14 +42,14 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24623.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25077.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>e0e05154656254a735ebf19ffa5a37a8b915039b</Sha>
<Sha>bac7e1caea791275b7c3ccb4cb75fd6a04a26618</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24623.3">
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25077.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>e0e05154656254a735ebf19ffa5a37a8b915039b</Sha>
<Sha>bac7e1caea791275b7c3ccb4cb75fd6a04a26618</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.24462.2">
Expand Down
7 changes: 3 additions & 4 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<!-- F# Version components -->
<FSMajorVersion>9</FSMajorVersion>
<FSMinorVersion>0</FSMinorVersion>
<FSBuildVersion>200</FSBuildVersion>
<FSBuildVersion>300</FSBuildVersion>
<FSRevisionVersion>0</FSRevisionVersion>
<!-- -->
<!-- F# Language version -->
Expand All @@ -37,7 +37,7 @@
<FSharpLibrariesChangelogVersion>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSharpLibrariesChangelogVersion>
<!-- -->
<!-- The current published nuget package -->
<FSharpCoreShippedPackageVersionValue>9.0.100</FSharpCoreShippedPackageVersionValue>
<FSharpCoreShippedPackageVersionValue>9.0.101</FSharpCoreShippedPackageVersionValue>
<!-- -->
<!-- The pattern for specifying the preview package -->
<FSharpCorePreviewPackageVersionValue>$(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).*</FSharpCorePreviewPackageVersionValue>
Expand All @@ -53,7 +53,7 @@
<PropertyGroup>
<!-- These have to be in sync with latest release branch -->
<VSMajorVersion>17</VSMajorVersion>
<VSMinorVersion>13</VSMinorVersion>
<VSMinorVersion>14</VSMinorVersion>
<VSGeneralVersion>$(VSMajorVersion).0</VSGeneralVersion>
<VSAssemblyVersionPrefix>$(VSMajorVersion).$(VSMinorVersion).0</VSAssemblyVersionPrefix>
<VSAssemblyVersion>$(VSAssemblyVersionPrefix).0</VSAssemblyVersion>
Expand Down Expand Up @@ -193,7 +193,6 @@
<XUnitVersion>2.9.0</XUnitVersion>
<XUnitRunnerVersion>2.8.2</XUnitRunnerVersion>
<XunitXmlTestLoggerVersion>3.1.17</XunitXmlTestLoggerVersion>
<FluentAssertionsVersion>5.10.3</FluentAssertionsVersion>
<HumanizerCoreVersion>2.2.0</HumanizerCoreVersion>
<!-- -->
<!-- MIBC profile packages -->
Expand Down
10 changes: 0 additions & 10 deletions eng/common/internal/Tools.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,6 @@
<PackageReference Include="Microsoft.DotNet.IBCMerge" Version="$(MicrosoftDotNetIBCMergeVersion)" Condition="'$(UsingToolIbcOptimization)' == 'true'" />
<PackageReference Include="Drop.App" Version="$(DropAppVersion)" ExcludeAssets="all" Condition="'$(UsingToolVisualStudioIbcTraining)' == 'true'"/>
</ItemGroup>
<PropertyGroup>
<RestoreSources></RestoreSources>
<RestoreSources Condition="'$(UsingToolIbcOptimization)' == 'true'">
https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
</RestoreSources>
<RestoreSources Condition="'$(UsingToolVisualStudioIbcTraining)' == 'true'">
$(RestoreSources);
https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
</RestoreSources>
</PropertyGroup>

<!-- Repository extensibility point -->
<Import Project="$(RepositoryEngineeringDir)InternalTools.props" Condition="Exists('$(RepositoryEngineeringDir)InternalTools.props')" />
Expand Down
2 changes: 1 addition & 1 deletion eng/common/template-guidance.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ extends:

Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable when referencing `templates-official`).

# Development notes
## Development notes

**Folder / file structure**

Expand Down
6 changes: 3 additions & 3 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"sdk": {
"version": "9.0.100",
"version": "9.0.102",
"allowPrerelease": true
},
"tools": {
"dotnet": "9.0.100",
"dotnet": "9.0.102",
"vs": {
"version": "17.8",
"components": [
Expand All @@ -17,7 +17,7 @@
"perl": "5.38.2.2"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24623.3",
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25077.4",
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23255.2"
}
}
2 changes: 2 additions & 0 deletions src/Compiler/AbstractIL/ilx.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ val mkILFormalCloRef: ILGenericParameterDefs -> IlxClosureRef -> useStaticField:
// MS-ILX: Unions
// --------------------------------------------------------------------

val mkLowerName: nm: string -> string

val actualTypOfIlxUnionField: IlxUnionSpec -> int -> int -> ILType

val mkILFreeVar: string * bool * ILType -> IlxClosureFreeVar
Loading
Loading