[repo-assist] docs: document known Debug-mode F# compiler bug affecting taskSeq (#473)
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
🤖 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
ResumableCodedefinitions from lowering, causing incorrect execution for composed builders such asTaskSeq." This matches exactly howTaskSeqBuilder.fs'sBind/WhileAsync/ForcomposeResumableCodevalues.
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 anUnreleasedbullet 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 DeniedThis was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.
Protected files
README.mdThe push was rejected because GitHub Actions does not have
workflowspermission 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fsprojects/FSharp.Control.TaskSeq
-
agentic-workflows automation repo-assist
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fsprojects/FSharp.Control.TaskSeq#473 · 1 commento ·
-
automation enhancement repo-assist
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
-
enhancement needs triage
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
-
automation enhancement repo-assist
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
Tutte le issue di fsprojects/FSharp.Control.TaskSeq
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
palladius/rails8-app-on-gcp#145 ·
-
NeedsTriage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
error Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
textual definition
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
geneontology/go-ontology#32653 ·