[repo-assist] docs: document known Debug-mode F# compiler bug affecting taskSeq (#473)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- fsharp
- Lĩnh vực
- documentation
Hướng nghiên cứu
Xem xét các thay đổi được đề xuất đối với README.md và release-notes.txt, bắt đầu với cách diễn đạt của Known Issues và upstream F# issue cùng fix PR được liên kết trong thông báo. Công việc được xem là hoàn tất khi Debug-mode taskSeq compiler regression, Release workaround của nó và mục tài liệu chưa được phát hành được ghi lại chính xác; lưu ý rằng patch được tạo yêu cầu một pull request do con người tạo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
🤖 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
- Ngôn ngữ chính
- F#
- Star
- 111
- Fork
- 13
- Merge trung bình
- 7 giờ 59 phút
- Pull request đã merge (30 ngày)
- 3
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fsprojects/FSharp.Control.TaskSeq
-
agentic-workflows automation repo-assist
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fsprojects/FSharp.Control.TaskSeq#473 · 1 bình luận · 1 reaction ·
-
automation enhancement repo-assist
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
-
enhancement needs triage
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
-
automation enhancement repo-assist
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
Tất cả issue của fsprojects/FSharp.Control.TaskSeq
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
Git-it-App/git-it-electron#1047 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
neondatabase/website#5944 ·
-
📕documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
db-ux-design-system/core-web#8239 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
libsdl-org/sdlwiki#1008 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100