[repo-assist] docs: document known Debug-mode F# compiler bug affecting taskSeq (#473)
还没有人认领这个 Issue。
评估
- 难度
- 1/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 35/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- fsharp
调研方向
审查对 README.md 和 release-notes.txt 提议的更改,从 Known Issues 的措辞以及消息中链接的 upstream F# issue 和 fix PR 开始。完成的标准是准确记录 Debug-mode taskSeq compiler regression、其 Release workaround 以及尚未发布的文档条目;请注意,生成的 patch 需要人工创建的 pull request。
由索引模型根据 Issue 内容生成。
描述
🤖 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
- 主要语言
- F#
- 星标
- 111
- 派生
- 13
- 平均合并
- 7 小时 59 分钟
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
fsprojects/FSharp.Control.TaskSeq 的其他 Issue
-
agentic-workflows automation repo-assist
难度 2/5 1-3 小时 新手友好度 70/100
-
bug
难度 4/5 3-5 天 新手友好度 45/100
fsprojects/FSharp.Control.TaskSeq#473 · 1 条评论 ·
-
automation enhancement repo-assist
难度 5/5 一周以上 新手友好度 10/100
-
enhancement needs triage
难度 5/5 一周以上 新手友好度 45/100
-
automation enhancement repo-assist
难度 5/5 一周以上 新手友好度 15/100
查看 fsprojects/FSharp.Control.TaskSeq 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
-
certification
难度 1/5 1 小时以内 新手友好度 80/100
-
难度 1/5 1 小时以内 新手友好度 85/100
bisq-network/support#2181 ·
-
难度 1/5 1 小时以内 新手友好度 85/100
-
tutorial updates 未关闭
难度 1/5 1 小时以内 新手友好度 80/100
sveltejs/svelte.dev#2241 ·