Skip to content

Add regression test: #6036, FCS namespace-module collision diagnostic - #20706

Merged
T-Gro merged 2 commits into
mainfrom
regression-test/issue6036-31ada475ab22bc5e
Oct 9, 2026
Merged

T-Gro merged 2 commits into
mainfrom
regression-test/issue6036-31ada475ab22bc5e

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Fixes #6036

FCS project checking now returns FS0247 for the namespace/module collision that was previously missing from IntelliSense diagnostics. The regression test exercises the exact two-file repro through ParseAndCheckProject.

Test: .dotnet/dotnet test tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -c Release --no-build --nologo -- --filter-method "*Issue 6036*"

🤖 This pull request was created by Repo Assist, an automated AI assistant.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • southcentralus0.in.applicationinsights.azure.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "southcentralus0.in.applicationinsights.azure.com"

See Network Configuration for more information.

Generated by 🌈 Repo Assist, see workflow run. Learn more.

Add this agentic workflows to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@7c7feb61a52b662eb2089aa2945588b7a200d404

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added AI-Issue-Regression-PR PR adding regression test for a closed issue NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes labels Oct 6, 2026
@github-actions
github-actions Bot requested review from T-Gro and abonie October 6, 2026 13:13
@github-actions
github-actions Bot requested a review from a team as a code owner October 6, 2026 13:13
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

🤖 This is an automated response from Regression PR Shepherd.

This regression test proves the bug in #6036 still exists when FCS uses the transparent compiler. This PR should be closed until the underlying bug is fixed.

The bug: A project that defines A.B first as module B under namespace A, then as namespace A.B, produces FS0247 during a build but omits that diagnostic from language-service project checking. This can hide a real build error from Visual Studio's Build + IntelliSense error list.

The test: Issue 6036 - project check reports namespace-module collision checks the two-file repro through ParseAndCheckProject. It passes with the normal checker but fails with TEST_TRANSPARENT_COMPILER=1, the configuration used by the failed WindowsCompressedMetadata transparent_compiler_release CI job.

The failure:

failed FSharp.Compiler.Service.Tests.ProjectAnalysisTests.Issue 6036 - project check reports namespace-module collision
System.ArgumentException : The input sequence was empty. (Parameter 'array')
  at Microsoft.FSharp.Collections.ArrayModule.ExactlyOne[T](T[] array)
  at FSharp.Compiler.Service.Tests.ProjectAnalysisTests.Issue 6036 - project check reports namespace-module collision()

The AI-thinks-issue-fixed label has been removed from #6036.
cc @T-Gro @abonie

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • dev.azure.com
  • southcentralus0.in.applicationinsights.azure.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "dev.azure.com"
    - "southcentralus0.in.applicationinsights.azure.com"

See Network Configuration for more information.

Generated by Regression PR Shepherd · gpt56 3M · ◷

Capture diagnostics while finalizing project checks and serializing assembly signatures, then include them in project results. Namespace/module collisions are emitted when lazy signature fragments are forced, after per-file finishers return.

Add the release note for the FS0247 regression fix.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@T-Gro
T-Gro merged commit 81fbc52 into main Oct 9, 2026
55 checks passed
@T-Gro
T-Gro deleted the regression-test/issue6036-31ada475ab22bc5e branch October 9, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Issue-Regression-PR PR adding regression test for a closed issue NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Lack of error from language service masks build error in error list

2 participants