Skip to content

Commit 4e23ca3

Browse files
authored
Merge pull request #3 from T-Gro/feature/activity-tracing
2 parents 80459f9 + 50fd7b5 commit 4e23ca3

File tree

266 files changed

+6344
-5300
lines changed

Some content is hidden

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

266 files changed

+6344
-5300
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
"fantomas": {
6-
"version": "5.0.0-beta-005",
6+
"version": "5.0.3",
77
"commands": [
88
"fantomas"
99
]

.fantomasignore

Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,79 @@ artifacts/
1212

1313
# Explicitly unformatted implementation files
1414

15-
src/Compiler/Checking/**/*.fs
16-
src/Compiler/DependencyManager/**/*.fs
17-
src/Compiler/Facilities/**/*.fs
18-
src/Compiler/Interactive/**/*.fs
19-
src/Compiler/Legacy/**/*.fs
20-
src/Compiler/Optimize/**/*.fs
21-
src/Compiler/Symbols/**/*.fs
22-
src/Compiler/TypedTree/**/*.fs
15+
src/Compiler/Checking/AccessibilityLogic.fs
16+
src/Compiler/Checking/AttributeChecking.fs
17+
src/Compiler/Checking/AugmentWithHashCompare.fs
18+
src/Compiler/Checking/CheckBasics.fs
19+
src/Compiler/Checking/CheckComputationExpressions.fs
20+
src/Compiler/Checking/CheckDeclarations.fs
21+
src/Compiler/Checking/CheckExpressions.fs
22+
src/Compiler/Checking/CheckFormatStrings.fs
23+
src/Compiler/Checking/CheckIncrementalClasses.fs
24+
src/Compiler/Checking/CheckPatterns.fs
25+
src/Compiler/Checking/ConstraintSolver.fs
26+
src/Compiler/Checking/FindUnsolved.fs
27+
src/Compiler/Checking/import.fs
28+
src/Compiler/Checking/InfoReader.fs
29+
src/Compiler/Checking/infos.fs
30+
src/Compiler/Checking/MethodCalls.fs
31+
src/Compiler/Checking/MethodOverrides.fs
32+
src/Compiler/Checking/NameResolution.fs
33+
src/Compiler/Checking/NicePrint.fs
34+
src/Compiler/Checking/PatternMatchCompilation.fs
35+
src/Compiler/Checking/PostInferenceChecks.fs
36+
src/Compiler/Checking/QuotationTranslator.fs
37+
src/Compiler/Checking/SignatureConformance.fs
38+
src/Compiler/Checking/TypeHierarchy.fs
39+
src/Compiler/Checking/TypeRelations.fs
40+
41+
src/Compiler/DependencyManager/AssemblyResolveHandler.fs
42+
src/Compiler/DependencyManager/DependencyProvider.fs
43+
src/Compiler/DependencyManager/NativeDllResolveHandler.fs
44+
45+
src/Compiler/Facilities/BuildGraph.fs
46+
src/Compiler/Facilities/CompilerLocation.fs
47+
src/Compiler/Facilities/DiagnosticOptions.fs
48+
src/Compiler/Facilities/DiagnosticResolutionHints.fs
49+
src/Compiler/Facilities/DiagnosticsLogger.fs
50+
src/Compiler/Facilities/LanguageFeatures.fs
51+
src/Compiler/Facilities/Logger.fs
52+
src/Compiler/Facilities/prim-lexing.fs
53+
src/Compiler/Facilities/prim-parsing.fs
54+
src/Compiler/Facilities/ReferenceResolver.fs
55+
src/Compiler/Facilities/SimulatedMSBuildReferenceResolver.fs
56+
src/Compiler/Facilities/TextLayoutRender.fs
57+
58+
src/Compiler/Interactive/ControlledExecution.fs
59+
src/Compiler/Interactive/fsi.fs
60+
61+
src/Compiler/Legacy/LegacyHostedCompilerForTesting.fs
62+
src/Compiler/Legacy/LegacyMSBuildReferenceResolver.fs
63+
64+
src/Compiler/Optimize/DetupleArgs.fs
65+
src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs
66+
src/Compiler/Optimize/LowerCalls.fs
67+
src/Compiler/Optimize/LowerComputedCollections.fs
68+
src/Compiler/Optimize/LowerLocalMutables.fs
69+
src/Compiler/Optimize/LowerSequences.fs
70+
src/Compiler/Optimize/LowerStateMachines.fs
71+
src/Compiler/Optimize/Optimizer.fs
72+
73+
src/Compiler/Symbols/Exprs.fs
74+
src/Compiler/Symbols/FSharpDiagnostic.fs
75+
src/Compiler/Symbols/SymbolHelpers.fs
76+
src/Compiler/Symbols/SymbolPatterns.fs
77+
src/Compiler/Symbols/Symbols.fs
78+
79+
src/Compiler/TypedTree/CompilerGlobalState.fs
80+
src/Compiler/TypedTree/QuotationPickler.fs
81+
src/Compiler/TypedTree/tainted.fs
82+
src/Compiler/TypedTree/TcGlobals.fs
83+
src/Compiler/TypedTree/TypedTree.fs
84+
src/Compiler/TypedTree/TypedTreeBasics.fs
85+
src/Compiler/TypedTree/TypedTreeOps.fs
86+
src/Compiler/TypedTree/TypedTreePickle.fs
87+
src/Compiler/TypedTree/TypeProviders.fs
2388

2489
# Explicitly unformatted file that needs more care to get it to format well
2590

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Create a report to help us improve F#
44
title: ''
5-
labels: Bug
5+
labels: [Bug, Needs-Triage]
66
assignees: ''
77

88
---

.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.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature request
33
about: Suggest an idea for the F# tools or compiler
44
title: ''
5-
labels: Feature Request
5+
labels: [Feature Request, Needs-Triage]
66
assignees: ''
77

88
---
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Other issue
3+
about: Open an issue which does not belong to any categories above
4+
title: ''
5+
labels: [Needs-Triage]
6+
assignees: ''
7+
8+
---
9+
<!-- Please, provide a clear and concise description of what the problem is below: -->
10+
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Add all issues to F# project
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
- transferred
8+
9+
jobs:
10+
cleanup_old_runs:
11+
runs-on: ubuntu-20.04
12+
permissions:
13+
actions: write
14+
env:
15+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16+
steps:
17+
- name: Delete old workflow runs
18+
run: |
19+
_UrlPath="/repos/$GITHUB_REPOSITORY/actions/workflows"
20+
_CurrentWorkflowID="$(gh api -X GET "$_UrlPath" | jq '.workflows[] | select(.name == '\""$GITHUB_WORKFLOW"\"') | .id')"
21+
gh api -X GET "$_UrlPath/$_CurrentWorkflowID/runs" --paginate \
22+
| jq '.workflow_runs[] | select(.status == "completed") | .id' \
23+
| xargs -I{} gh api -X DELETE "/repos/$GITHUB_REPOSITORY/actions/runs"/{}
24+
add-to-project:
25+
name: Add issue to project
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/[email protected]
29+
with:
30+
project-url: https://github.com/orgs/dotnet/projects/126/
31+
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/backport.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Backport PR to branch
2+
on:
3+
issue_comment:
4+
types: [created]
5+
schedule:
6+
# once a day at 13:00 UTC
7+
- cron: '0 13 * * *'
8+
9+
permissions:
10+
contents: write
11+
issues: write
12+
pull-requests: write
13+
14+
jobs:
15+
cleanup_old_runs:
16+
if: github.event.schedule == '0 13 * * *'
17+
runs-on: ubuntu-20.04
18+
permissions:
19+
actions: write
20+
env:
21+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
steps:
23+
- name: Delete old workflow runs
24+
run: |
25+
_UrlPath="/repos/$GITHUB_REPOSITORY/actions/workflows"
26+
_CurrentWorkflowID="$(gh api -X GET "$_UrlPath" | jq '.workflows[] | select(.name == '\""$GITHUB_WORKFLOW"\"') | .id')"
27+
28+
# delete workitems which are 'completed'. (other candidate values of status field are: 'queued' and 'in_progress')
29+
30+
gh api -X GET "$_UrlPath/$_CurrentWorkflowID/runs" --paginate \
31+
| jq '.workflow_runs[] | select(.status == "completed") | .id' \
32+
| xargs -I{} gh api -X DELETE "/repos/$GITHUB_REPOSITORY/actions/runs"/{}
33+
34+
backport:
35+
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/backport to')
36+
runs-on: ubuntu-20.04
37+
steps:
38+
- name: Extract backport target branch
39+
uses: actions/github-script@v3
40+
id: target-branch-extractor
41+
with:
42+
result-encoding: string
43+
script: |
44+
if (context.eventName !== "issue_comment") throw "Error: This action only works on issue_comment events.";
45+
46+
// extract the target branch name from the trigger phrase containing these characters: a-z, A-Z, digits, forward slash, dot, hyphen, underscore
47+
const regex = /^\/backport to ([a-zA-Z\d\/\.\-\_]+)/;
48+
target_branch = regex.exec(context.payload.comment.body);
49+
if (target_branch == null) throw "Error: No backport branch found in the trigger phrase.";
50+
51+
return target_branch[1];
52+
- name: Post backport started comment to pull request
53+
uses: actions/github-script@v3
54+
with:
55+
script: |
56+
const backport_start_body = `Started backporting to ${{ steps.target-branch-extractor.outputs.result }}: https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${process.env.GITHUB_RUN_ID}`;
57+
await github.issues.createComment({
58+
issue_number: context.issue.number,
59+
owner: context.repo.owner,
60+
repo: context.repo.repo,
61+
body: backport_start_body
62+
});
63+
- name: Checkout repo
64+
uses: actions/checkout@v2
65+
with:
66+
fetch-depth: 0
67+
- name: Run backport
68+
uses: ./eng/actions/backport
69+
with:
70+
target_branch: ${{ steps.target-branch-extractor.outputs.result }}
71+
auth_token: ${{ secrets.GITHUB_TOKEN }}
72+
pr_description_template: |
73+
Backport of #%source_pr_number% to %target_branch%
74+
75+
/cc %cc_users%
76+
77+
## Customer Impact
78+
79+
## Testing
80+
81+
## Risk
82+
83+
IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary [package authoring](https://github.com/dotnet/runtime/blob/main/docs/project/library-servicing.md) and gotten it explicitly reviewed.

DEVGUIDE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ This will update your fork with the latest from `dotnet/fsharp` on your machine
4444

4545
## Developing on Windows
4646

47-
Install the latest released [Visual Studio](https://www.visualstudio.com/downloads/), as that is what the `main` branch's tools are synced with. Select the following workloads:
47+
Install the latest released [Visual Studio](https://visualstudio.microsoft.com/vs/preview/) preview, as that is what the `main` branch's tools are synced with. Select the following workloads:
4848

4949
* .NET desktop development (also check F# desktop support, as this will install some legacy templates)
5050
* Visual Studio extension development
5151

52-
You will also need the latest .NET 6 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/6.0).
52+
You will also need the latest .NET 7 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/7.0).
5353

5454
Building is simple:
5555

@@ -73,10 +73,10 @@ If you don't have everything installed yet, you'll get prompted by Visual Studio
7373

7474
If you are just developing the core compiler and library then building ``FSharp.sln`` will be enough.
7575

76-
We recommend installing the latest released Visual Studio and using that if you are on Windows. However, if you prefer not to do that, you will need to install the following:
76+
We recommend installing the latest Visual Studio preview and using that if you are on Windows. However, if you prefer not to do that, you will need to install the following:
7777

7878
* [.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)
79-
* [.NET 6](https://dotnet.microsoft.com/download/dotnet/6.0)
79+
* [.NET 7](https://dotnet.microsoft.com/download/dotnet/7.0)
8080

8181
You'll need to pass an additional flag to the build script:
8282

Directory.Build.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
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+
615
<ItemGroup>
716
<!-- If there is a README.md next to a project file, include it (for easier access in the IDE) -->
817
<None Include="README.md" Condition="Exists('README.md')" />

0 commit comments

Comments
 (0)