Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
d958bb6
Merge branch 'main' into merges/release/dev17.8-to-main
vzarytovskii Sep 28, 2023
0f0e7f9
Merge branch 'main' into merges/release/dev17.8-to-main
vzarytovskii Sep 28, 2023
7cd0fb2
Fix go to definition when it's not the first occurence in file (#15962)
0101 Oct 4, 2023
afa5809
Reenabling ReplaceWithSuggestion for FS1129 (#16020)
psfinaki Oct 4, 2023
e33a8b2
Fixed a readme extension (#16049)
psfinaki Oct 4, 2023
f469631
Minor improvements to an old code fix (#16048)
psfinaki Oct 4, 2023
739acb3
Remove 'Capture identifiers when parsing' setting from VS options (#1…
0101 Oct 5, 2023
6bdb236
Minor docs clarification on releases + cleanup (#16026)
psfinaki Oct 5, 2023
91ff67b
Strip TailCallAttribute during trimming (#16028)
kerams Oct 5, 2023
c6def94
Allow merging of Namespace and Module in TrieMapping (#16070)
nojaf Oct 7, 2023
99b4d4d
fix vs code build tasks (#16090)
Martin521 Oct 7, 2023
f1ba28c
add gnupg installation to Dockerfile (#16089)
Martin521 Oct 7, 2023
4934588
Clean up NicePrint (#16086)
kerams Oct 9, 2023
abe96cd
Update DEVGUIDE.md: note about proto build and compiling compiler wit…
smoothdeveloper Oct 9, 2023
b2042ba
Merge branch 'main' into merges/release/dev17.8-to-main
vzarytovskii Oct 9, 2023
532b57a
Merge pull request #16061 from dotnet/merges/release/dev17.8-to-main
vzarytovskii Oct 9, 2023
111c08b
Fix inference for same (but distinct) record types in seq CE (#16040)
abonie Oct 9, 2023
9ef973f
Merge branch 'release/dev17.9' into merges/main-to-release/dev17.9
T-Gro Oct 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \
# Verify bash, git, process tools, lsb-release (common in install instructions for CLIs) installed
&& apt-get -y install bash git openssh-client less iproute2 procps lsb-release \
&& apt-get -y install gnupg \
# Clean up
&& apt-get autoremove -y \
&& apt-get clean -y \
Expand All @@ -23,4 +24,4 @@ RUN apt-get update \
ENV DEBIAN_FRONTEND=dialog

# Make sure we can build using plain dotnet
ENV BUILDING_USING_DOTNET="true"
ENV BUILDING_USING_DOTNET="true"
12 changes: 8 additions & 4 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@
"type": "shell",
"args": [
"build",
"-c Debug",
"-c",
"Debug",
"FSharp.Compiler.Service.sln"
],
"windows": {
"command": "dotnet",
"args": [
"build",
"-c Debug",
"-c",
"Debug",
"FSharp.Compiler.Service.sln"
],
},
Expand All @@ -40,14 +42,16 @@
"type": "shell",
"args": [
"build",
"-c Release",
"-c",
"Release",
"FSharp.Compiler.Service.sln"
],
"windows": {
"command": "dotnet",
"args": [
"build",
"-c Release",
"-c",
"Release",
"FSharp.Compiler.Service.sln"
],
},
Expand Down
6 changes: 6 additions & 0 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@ You can find all test options as separate flags. For example `build -testAll`:

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

## Using your custom compiler to build this repository

By removing all the subfolders called `Proto` under `artifacts` and running the `build` script again, the proto compiler will include your changes.

Once the "proto" compiler is built, it won't be built again, so you may want to perform those steps again to ensure your changes don't break building the compiler itself.

## Using your custom compiler to build other projects

Building the compiler using `build.cmd` or `build.sh` will output artifacts in `artifacts\bin`.
Expand Down
25 changes: 1 addition & 24 deletions INTERNAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,29 +98,6 @@ Since github issue filtering is currently not flexible enough, that query was ge
Invoke-WebRequest -Uri "https://api.github.com/repos/dotnet/fsharp/labels?per_page=100" | ConvertFrom-Json | % { $_.name } | ? { $_.StartsWith("Area-") } | % { Write-Host -NoNewLine ('-label:"' + $_ + '" ') }
```

## Less interesting links

[FSharp.Core (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=72).
Uploads the final `FSharp.Core` package from the specified build to NuGet. This should only be run when we know for
certain which build produced the final offical package.

[FSharp.Core (Preview NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=92).
Uploads the preview `FSharp.Core.*-beta.*` package from the specified build to NuGet. This should be run every time
a new SDK preview is released.

[FCS (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?view=mine&_a=releases&definitionId=99).
Uploads the final `FSharp.Compiler.Service` package from the specified build to NuGet. Only builds from the `release/fcs`
branch can be selected. This should only be run when we're fairly certain that the package is complete.

[FCS (Preview NuGet Release)](https://dev.azure.com/dnceng/internal/_release?view=mine&_a=releases&definitionId=98).
Uploads the preview `FSharp.Compiler.Service.*-preview.*` package from the specified build to NuGet. Only builds from the
`main` branch can be selected. This can be run whenever we think we're ready to preview a new FCS build.

[Nightly VSIX (main) uploader](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=70). Uploads
a package from every build of `main` to the [Nightly VSIX feed](README.md#using-nightly-releases-in-visual-studio).

[Nightly VSIX (preview) uploader](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=71). Uploads
a package from every build of the branch that corresponds to the current Visual Studio preview to the
[Preview VSIX feed](README.md#using-nightly-releases-in-visual-studio).
## Other links

[Internal source mirror](https://dev.azure.com/dnceng/internal/_git/dotnet-fsharp).
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ Even if you find a single-character typo, we're happy to take the change! Althou
<add key="fsharp-prerelease" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
```

**NOTE:** Official NuGet releases of FCS and FSharp.Core are synched with SDK releases (on purpose - we want to be in sync). Nightly packages release to Azure feeds on every successful insertion.

## Branches

These are the branches in use:
Expand Down
3 changes: 2 additions & 1 deletion src/Compiler/Checking/CheckComputationExpressions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -2210,14 +2210,15 @@ let TcSequenceExpression (cenv: cenv) env tpenv comp (overallTy: OverallTy) m =

let env = { env with eContextInfo = ContextInfo.SequenceExpression genOuterTy }

if enableImplicitYield then
if enableImplicitYield then
let hasTypeUnit, expr, tpenv = TryTcStmt cenv env tpenv comp
if hasTypeUnit then
Choice2Of2 expr, tpenv
else
let genResultTy = NewInferenceType g
let mExpr = expr.Range
UnifyTypes cenv env mExpr genOuterTy (mkSeqTy cenv.g genResultTy)
let expr, tpenv = TcExprFlex cenv flex true genResultTy env tpenv comp
let exprTy = tyOfExpr cenv.g expr
AddCxTypeMustSubsumeType env.eContextInfo env.DisplayEnv cenv.css mExpr NoTrace genResultTy exprTy
let resExpr = mkCallSeqSingleton cenv.g mExpr genResultTy (mkCoerceExpr(expr, genResultTy, mExpr, exprTy))
Expand Down
Loading