Skip to content

Commit d81d4f1

Browse files
authored
Merge branch 'release/dev17.4' into merges/release/dev17.3-to-release/dev17.4
2 parents 738acfe + 3ff020f commit d81d4f1

File tree

769 files changed

+47260
-23672
lines changed

Some content is hidden

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

769 files changed

+47260
-23672
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
"isRoot": true,
44
"tools": {
55
"fantomas": {
6-
"version": "5.0.0-alpha-008",
6+
"version": "5.0.0-beta-005",
77
"commands": [
88
"fantomas"
99
]
1010
}
1111
}
1212
}
13-

.devcontainer/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
44
#-------------------------------------------------------------------------------------------------------------
55

6-
ARG VARIANT=6.0-focal
7-
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
6+
ARG VARIANT=7.0-bullseye-slim
7+
FROM mcr.microsoft.com/dotnet/sdk:${VARIANT}
88

99
# Avoid warnings by switching to noninteractive
1010
ENV DEBIAN_FRONTEND=noninteractive

.devcontainer/devcontainer.json

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
22
{
3-
"name": "F# (.NET 6)",
3+
"name": "F# (.NET 7)",
44
"build": {
55
"dockerfile": "Dockerfile",
66
"args": {
7-
// Update 'VARIANT' to pick a .NET Core version: 3.1, 5.0, 6.0
8-
// Append -bullseye or -focal to pin to an OS version.
9-
"VARIANT": "6.0-focal"
7+
// Update 'VARIANT' to pick a .NET Core version: 3.1, 5.0, 6.0, 7.0
8+
// Append -bullseye(-slim), -focal, or -jammy to pin to an OS version.
9+
"VARIANT": "7.0-bullseye-slim"
1010
}
1111
},
1212
"hostRequirements": {
@@ -20,19 +20,16 @@
2020

2121
// Add the IDs of extensions you want installed when the container is created.
2222
"extensions": [
23-
"ms-vscode.test-adapter-converter",
24-
"hbenl.vscode-test-explorer",
25-
"formulahendry.dotnet-test-explorer",
2623
"ms-dotnettools.csharp",
2724
"Ionide.Ionide-fsharp",
2825
"tintoy.msbuild-project-tools"
2926
],
30-
"onCreateCommand": [
31-
"/bin/bash",
32-
"-c",
33-
"./build.sh",
34-
"-c",
35-
"Debug"
36-
],
27+
//"onCreateCommand": [ // It is a bit buggy in codespaces, so for now, need to run it manually.
28+
// "/bin/bash",
29+
// "-c",
30+
// "./build.sh",
31+
// "-c",
32+
// "Debug"
33+
//],
3734
"waitFor": "onCreateCommand"
3835
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Bug report
2+
description: Create a report to help us improve F#
3+
title: "`Bug`: "
4+
labels: [Needs Triage]
5+
body:
6+
- type: checkboxes
7+
attributes:
8+
label: Is there an existing issue for this?
9+
description: Please search to see if an issue already exists for the bug you encountered.
10+
options:
11+
- label: I have searched the existing issues
12+
required: true
13+
- type: textarea
14+
attributes:
15+
label: Issue description
16+
description: Please provide a succinct description of the issue you're experiencing.
17+
validations:
18+
required: true
19+
- type: textarea
20+
attributes:
21+
label: Steps To Reproduce
22+
description: Provide the steps required to reproduce the problem.
23+
placeholder: |
24+
1. Step A
25+
2. Step B...
26+
validations:
27+
required: false
28+
- type: textarea
29+
attributes:
30+
label: Expected Behavior
31+
description: Provide a description of the expected behavior.
32+
validations:
33+
required: true
34+
- type: textarea
35+
attributes:
36+
label: Actual Behavior
37+
description: Provide a description of the actual behaviour observed.
38+
validations:
39+
required: true
40+
- type: textarea
41+
attributes:
42+
label: Known workarounds
43+
description: Provide a description of the actual behaviour observed.
44+
validations:
45+
required: false
46+
- type: textarea
47+
attributes:
48+
label: Related information
49+
description: |
50+
Provide any related information (optional), examples:
51+
- **OS**: Windows 11
52+
- **.NET Runtime Kind and version**: .NET Framework 4.8 and .NET 7
53+
- **Tooling**: Visual Studio 2022
54+
value: |
55+
- OS:
56+
- .NET Runtime Kind and version:
57+
- Tooling:
58+
render: markdown
59+
validations:
60+
required: false
61+
- type: textarea
62+
attributes:
63+
label: Anything else?
64+
description: |
65+
Links? References? Anything that will give us more context about the issue you are encountering!
66+
67+
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
68+
validations:
69+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: F# Discussions
4+
url: https://github.com/dotnet/fsharp/discussions
5+
about: Please ask and answer questions here.
6+
- name: F# Language Suggestions
7+
url: https://github.com/fsharp/fslang-suggestions
8+
about: Language features discussions here.
9+
- name: F# Language Design
10+
url: https://github.com/fsharp/fslang-design
11+
about: Language design RFCs here.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,5 @@ nCrunchTemp_*
123123

124124
/test.fs
125125
/test.fsx
126+
127+
tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.actual

.vscode/launch.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
// TODO: Shall we assume that it's already been built, or build it every time we debug?
1818
// "preLaunchTask": "Build (Debug)",
1919
// If you have changed target frameworks, make sure to update the program p
20-
"program": "${workspaceFolder}/artifacts/bin/fsi/Debug/net6.0/fsi.dll",
20+
"program": "${workspaceFolder}/artifacts/bin/fsi/Debug/net7.0/fsi.dll",
2121
"cwd": "${workspaceFolder}/src",
2222
"console": "integratedTerminal", // This is the default to be able to run in Codespaces.
2323
"internalConsoleOptions": "neverOpen",
2424
"suppressJITOptimizations": true,
2525
"stopAtEntry": false,
26-
"justMyCode": false,
26+
"justMyCode": true,
2727
"enableStepFiltering": true,
2828
"symbolOptions": {
2929
"searchMicrosoftSymbolServer": true,
@@ -42,7 +42,7 @@
4242
// TODO: Shall we assume that it's already been built, or build it every time we debug?
4343
// "preLaunchTask": "Build (Debug)",
4444
// If you have changed target frameworks, make sure to update the program path.
45-
"program": "${workspaceFolder}/artifacts/bin/fsc/Debug/net6.0/fsc.dll",
45+
"program": "${workspaceFolder}/artifacts/bin/fsc/Debug/net7.0/fsc.dll",
4646
"args": [
4747
"${input:argsPrompt}"
4848
],
@@ -73,7 +73,7 @@
7373
"enabled": true
7474
}
7575
},
76-
"justMyCode": false,
76+
"justMyCode": true,
7777
"enableStepFiltering": false,
7878
}
7979
]

.vscode/settings.json

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"*.fs": "${capture}.fsi"
1717
},
1818
"FSharp.suggestGitignore": false,
19-
"FSharp.enableMSBuildProjectGraph": false,
19+
"FSharp.enableMSBuildProjectGraph": true,
2020
"FSharp.workspacePath": "FSharp.Compiler.Service.sln",
2121
"FSharp.workspaceModePeekDeepLevel": 1,
2222
"FSharp.enableBackgroundServices": false,
@@ -34,7 +34,7 @@
3434
"csharp.suppressDotnetInstallWarning": true,
3535
"csharp.suppressDotnetRestoreNotification": true,
3636
"csharp.suppressHiddenDiagnostics": true,
37-
"omnisharp.autoStart": false,
37+
"omnisharp.autoStart": true,
3838
"omnisharp.defaultLaunchSolution": "FSharp.Compiler.Service.sln",
3939
"omnisharp.enableMsBuildLoadProjectsOnDemand": true,
4040
"omnisharp.disableMSBuildDiagnosticWarning": true,
@@ -45,10 +45,6 @@
4545
"powershell.promptToUpdatePowerShell": false,
4646
"powershell.integratedConsole.showOnStartup": false,
4747
"powershell.startAutomatically": false,
48-
"dotnet-test-explorer.testProjectPath": "tests/+(FSharp.Compiler.Service.Tests|FSharp.Compiler.UnitTests|FSharp.Core.UnitTests|FSharp.Build.UnitTests|FSharp.Compiler.ComponentTests)/*Tests.fsproj",
49-
"dotnet-test-explorer.addProblems": true,
50-
"dotnet-test-explorer.autoWatch": false,
51-
"dotnet-test-explorer.treeMode": "merged",
5248
"testExplorer.useNativeTesting": true,
5349
"markdownlint.config": {
5450
"MD028": false,

DEVGUIDE.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,18 @@ You can find all test options as separate flags. For example `build -testAll`:
121121

122122
Running any of the above will build the latest changes and run tests against them.
123123

124+
## Using your custom compiler to build other projects
125+
126+
Building the compiler using `build.cmd` or `build.sh` will output artifacts in `artifacts\bin`.
127+
128+
To use your custom build of `Fsc`, add the `DotnetFscCompilerPath` property to your project's `.fsproj` file, adjusted to point at your local build directory, build configuration, and target framework as appropriate:
129+
130+
```xml
131+
<PropertyGroup>
132+
<DotnetFscCompilerPath>D:\Git\fsharp\artifacts\bin\fsc\Debug\net7.0\fsc.dll</DotnetFscCompilerPath>
133+
</PropertyGroup>
134+
```
135+
124136
## Updating FSComp.fs, FSComp.resx and XLF
125137

126138
If your changes involve modifying the list of language keywords in any way, (e.g. when implementing a new keyword), the XLF localization files need to be synced with the corresponding resx files. This can be done automatically by running

Directory.Build.props

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,18 @@
33
<Import Project="FSharpBuild.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
44
<Import Project="FSharpTests.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
55

6+
<!--
7+
When developers load the FSharp.Compiler.Service solution we set FSHARPCORE_USE_PACKAGE to true if it hasn't already been set to a value.
8+
This option ensures that building and testing uses the specified FSharp.Core nuget package instead of the local
9+
FSharp.Core project.
10+
-->
11+
<PropertyGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">
12+
<FSHARPCORE_USE_PACKAGE Condition="'$(SolutionName)' == 'FSharp.Compiler.Service'">true</FSHARPCORE_USE_PACKAGE>
13+
</PropertyGroup>
14+
15+
<ItemGroup>
16+
<!-- If there is a README.md next to a project file, include it (for easier access in the IDE) -->
17+
<None Include="README.md" Condition="Exists('README.md')" />
18+
</ItemGroup>
19+
620
</Project>

0 commit comments

Comments
 (0)