Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[repo-assist] docs: document known Debug-mode F# compiler bug affecting taskSeq (#473)

Aperta
#476 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
1-3 ore
Idoneità per principianti
35/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
fsharp
Ambito
documentation

Direzione di ricerca

Esamina le modifiche proposte a README.md e release-notes.txt, iniziando dalla formulazione di Known Issues e dall’issue F# upstream e dal fix PR collegati nel messaggio. Il lavoro è completato quando la regressione del compilatore taskSeq in modalità Debug, il relativo workaround di Release e la voce di documentazione della versione non ancora rilasciata sono registrati correttamente; nota che la patch generata richiede una pull request creata manualmente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

agentic-workflows automation repo-assist

🤖 This PR was created automatically by Repo Assist, an AI assistant. A human maintainer should review before merging.

What

Adds a Known Issues section to README.md documenting an upstream F# compiler regression discovered while investigating #473: Debug builds on .NET SDK 10.0.400+ / F# 10+ can silently truncate a taskSeq { } sequence that do!/awaits between yields. MoveNextAsync simply returns false after the first await — no exception, no warning.

Root cause

This is not a bug in FSharp.Control.TaskSeq. I reproduced the issue locally against both the published 1.1.1 NuGet package and this repo's current main branch source (SDK 10.0.400), and confirmed:

  • It only reproduces in Debug (-c Debug) — Release (-c Release / -p:Optimize=true) always works correctly.
  • It is already tracked upstream as dotnet/fsharp#20466 ("Incorrect state machine compilation in debug"), filed by a compiler-team contributor using this exact repo as the repro case.
  • A fix is already in progress: dotnet/fsharp#20469"Debug compilation could route inline builders containing low-level resumable state machines through generated helper methods. That helper boundary hid nested ResumableCode definitions from lowering, causing incorrect execution for composed builders such as TaskSeq." This matches exactly how TaskSeqBuilder.fs's Bind/WhileAsync/For compose ResumableCode values.

Since this can't be fixed in library source (it's a compiler-lowering issue), the most useful contribution right now is documenting it clearly so users hitting it (like the reporter of #473, whose tests silently passed on only the first item because dotnet test defaults to Debug) can find a workaround quickly.

Change

  • README.md: new "Known issues" section with a short description, links to the upstream issue/fix PR, and the workaround (build/test in Release, or set <Optimize>true</Optimize>).
  • release-notes.txt: added an Unreleased bullet per repo convention.

Test Status

Documentation-only change; no source code modified. dotnet fantomas . --check not applicable (no .fs/.fsx files touched). No build or test run required per repo guidelines for docs-only changes.

Closes nothing directly, but relates to #473.


[!WARNING]
Protected Files — Push Permission Denied

This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.

Protected files
  • README.md

The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.

Create the pull request manually
# Download the patch from the workflow run
gh run download 34605897835 -n agent -D /tmp/agent-34605897835

# Create a new branch
git checkout -b repo-assist/improve-doc-debug-compiler-bug-473-17ff1f7bcf07f13d main

# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-34605897835/aw-repo-assist-improve-doc-debug-compiler-bug-473.patch

# Push the branch and create the pull request
git push origin repo-assist/improve-doc-debug-compiler-bug-473-17ff1f7bcf07f13d
gh pr create --title '[repo-assist] docs: document known Debug-mode F# compiler bug affecting taskSeq (#473)' --base main --head repo-assist/improve-doc-debug-compiler-bug-473-17ff1f7bcf07f13d --repo fsprojects/FSharp.Control.TaskSeq

Generated by 🌈 Repo Assist, see workflow run. Learn more.
Comment /repo-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@ae8d551f07c7ed7619f8c58c7bb4c3ac89395d38
Lingua principale
F#
Stelle
111
Fork
13
Merge medio
7h 59m
PR unite (30g)
3

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fsprojects/FSharp.Control.TaskSeq

Tutte le issue di fsprojects/FSharp.Control.TaskSeq

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.