A minimal repro of an F# bad tailcall overflow introduced by .NET SDK 6
From the repo root on the command line, in order:
init.cmd
- You only need to run this once to bootstrap Paket
build.cmd
dotnet fsi
(or host fsi.exe in your terminal of choice)#load "Repro.fsx";;
- A stack overflow will tear down the fsi process
Yes. To prove this is an upstream regression:
- In global.json, set sdk version to
5.0.404
- Follow the repro instructions above from step 2
- Everything is ok (no overflow)
Yes.
- In build.cmd, change
-c Debug
to-c Release
- Revert sdk version in global.json (if you changed it) to
6.0.101
- Follow the repro instructions above from step 2
- Everything is ok (no overflow)
- Built with VS Code on Windows 10
- Targets netstandard2.1
- This repo is MIT licensed
- Please note that src/Rng.fs contains an excerpt adapted from FsCheck: