Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#476 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
1/5
見積もり時間
1〜3時間
初心者へのやさしさ
35/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
fsharp
領域
documentation

調査の方向性

README.md と release-notes.txt に対して提案されている変更を、Known Issues の文言と、メッセージにリンクされている upstream の F# issue および fix PR から確認する。完了条件は、Debug-mode における taskSeq compiler regression、その Release workaround、未リリースのドキュメント項目が正確に記録されていることとする。なお、生成された patch には人手で作成した pull request が必要である。

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
F#
スター
111
フォーク
13
平均マージ
7時間 59分
マージ済み PR(30日)
3

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fsprojects/FSharp.Control.TaskSeq のほかの issue

fsprojects/FSharp.Control.TaskSeq の issue をすべて見る

似ている issue

Documentation の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。