Skip to content

Syncing release/dev18.6 with VS rel/insiders#19699

Merged
abonie merged 55 commits into
dotnet:release/dev18.6from
abonie:release/dev18.6
May 7, 2026
Merged

Syncing release/dev18.6 with VS rel/insiders#19699
abonie merged 55 commits into
dotnet:release/dev18.6from
abonie:release/dev18.6

Conversation

@abonie
Copy link
Copy Markdown
Member

@abonie abonie commented May 6, 2026

Setting it to the commit of this PR #19506 (last insertion to main, which has been snapped to rel/insiders now) + infra changes that keep this branch mapped to insiders

T-Gro and others added 30 commits March 24, 2026 19:02
…tialization (dotnet#19483)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…eration improvements (dotnet#19490)

Test 1 (dotnet#14310): Verify struct with private field roundtrips correctly
when signature includes the private field (as generated by --sig).

Test 2 (dotnet#14308): Verify Sealed, AbstractClass, Interface and Class
attributes roundtrip correctly in signature generation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…e active pattern (dotnet#19481)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…sted module (dotnet#19489)

Verify that a hash directive (#r) at column 0 inside a nested module
produces FS0058 indentation error with F# 8 strict indentation rules.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…declaration (dotnet#19477)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…measure (dotnet#19463)

* Add regression test for dotnet#6929: Literal bindings preserve units of measure

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix: use local shouldSucceed wrapper instead of redundant pipeline

The test was calling asLibrary |> typecheck |> shouldSucceed, but the local
shouldSucceed function (which already does asLibrary/typecheck) was shadowing
FSharp.Test.Compiler.shouldSucceed, causing a type mismatch (FS0001).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ctness (dotnet#19479)

* Add regression test for dotnet#3660: array of functions invocation without closure allocation

- Runtime correctness test: compiles and runs the indexed array function
  invocation pattern, verifying correct results
- IL verification test: compiles runAll as a library with optimizations and
  asserts no closure class (extending FSharpFunc) is emitted, ensuring the
  compiler does not generate needless allocations for fArr.[i] x

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com>
…arp. prefix for external types (dotnet#19496)

Fixes dotnet#12067

Adds a regression test verifying that signature file generation preserves
the fully-qualified FSharp.Control.AsyncSeq<'t> type name when the type
comes from an external assembly in a FSharp.* namespace, rather than
incorrectly trimming the FSharp. prefix to produce Control.AsyncSeq<'t>.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…l type in public constructor sig (dotnet#19475)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…dotnet#19465)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rt FS0039 (dotnet#19474)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…erse (dotnet#19469)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… via nuget (dotnet#19497)

Fixes dotnet#12023

Verifies that FSI can load System.Drawing.Common via #r "nuget:" without
FS0193 assembly loading errors. The original issue was that FSI did not
probe the Microsoft.WindowsDesktop.App runtime folder.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Regression PR Shepherd agentic workflow

Shepherds open AI-Issue-Regression-PR pull requests to completion:
- Fixes CI failures and addresses review feedback
- Detects when a test proves the bug still exists (removes label, tags maintainers)
- Runs 6x/day, only touches tests/ files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add min-integrity: none

* Add min-integrity: none

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…it, stricter labeling (dotnet#19499)

- Enable create-pull-request and push-to-pull-request-branch for regression test PRs
- Enable remove-labels for AI-thinks-issue-fixed and AI-thinks-windows-only
- Add Task 2: Regression Test Verification with adversarial dispute step
- Add Task 3: Systematic revisit of AI-thinks-windows-only claims
- Reorder tasks: Task 1 → Task 3 → Task 2 → FINAL (Task 3 feeds into Task 2)
- Strict windows-only rules with explicit FCS-testable feature list
- Fix memory section to match actual state.json schema
- Remove close-issue actions (closure happens via PR merge with Fixes link)
- Fix stale references, contradictory instructions, date cutoff to 2024
- Clarify anti-spam rules for multi-task commenting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…327.7 (dotnet#19512)

On relative base path root
Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26168.1 -> To Version 10.0.0-beta.26177.7

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/msbuild build 20260324.4
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26174-04

* Update dependencies from https://github.com/dotnet/msbuild build 20260325.1
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26175-01

* Update dependencies from https://github.com/dotnet/msbuild build 20260326.1
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26176-01

* Update dependencies from https://github.com/dotnet/msbuild build 20260327.2
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26173-02 -> To Version 18.6.0-preview-26177-02

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…r byref`1 (dotnet#19485)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…stinct (dotnet#19480)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tnet#19473)

* Add regression test for dotnet#13519: C# optional parameters from F#

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add ParamArray + optional params regression test for dotnet#13519

Addresses reviewer feedback: the original issue was specifically about
the intersection of omitted optional arguments and ParamArray arguments,
as identified by Don Syme. This adds a test covering that exact scenario.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dotnet#19470)

* Add regression test for dotnet#6648: DU of DUs with inline static members

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix unclosed triple-quoted string in Issue 6648 regression test

Add missing closing triple-quote and assertion pipeline to the
DU of DUs with inline static members test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…net#19516)

* Initial plan

* Fix repo-assist: add safe output discipline, iteration limits, and noop fallback

Root cause: Agent spent ~37 minutes creating ~25 test files across 5+ issues
without calling any safe output MCP tools, resulting in empty agent_output.json.

- Add "Safe Output Discipline" section with incremental output, noop fallback,
  3-attempt iteration limit per issue, and time awareness rules
- Task 1: call safe output tools immediately after each issue
- Task 2: limit build-and-test cycles to 3 per issue, create PRs immediately,
  do not create multiple test file variants

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/cf589816-f234-44e2-9245-742907ee5d27

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

* Run gh aw upgrade and gh aw compile to regenerate lock files

Updates gh-aw from v0.64.2 to v0.64.4:
- Regenerate repo-assist.lock.yml with new frontmatter hash
- Regenerate regression-pr-shepherd.lock.yml
- Update actions-lock.json with new action SHAs
- Update agentic-workflows.agent.md version references

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/0f6b9ce7-da31-403c-b633-6bb5f004484e

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
Co-authored-by: Tomas Grosup <Tomas.Grosup@gmail.com>
Co-authored-by: Adam Boniecki <20281641+abonie@users.noreply.github.com>
…0330.8 (dotnet#19525)

On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26177-02 -> To Version 18.6.0-preview-26180-08

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…otnet-optimization build 20260330.1 (dotnet#19523)

On relative base path root
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime From Version 1.0.0-prerelease.26153.1 -> To Version 1.0.0-prerelease.26180.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Add aw-auto-update workflow for daily gh aw upgrade/compile

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update agentic workflows via gh aw upgrade (v0.64.2 → v0.64.4)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
github-actions Bot and others added 19 commits April 1, 2026 11:49
…e task CE raises FS0750 (dotnet#19531)

Fixes dotnet#19456

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ses value restriction (dotnet#19529)

Fixes dotnet#16007

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…atterns (dotnet#19528)

Fixes dotnet#7177

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…#19407)

* wip

* fix test

* use FSharpScript everywhere, remove ScriptingShims.fsx

* cleanup - this can run in parallel

* cleanup

* fix
…otnet#19467)

* Add regression test for dotnet#9878: SRTP with phantom type parameter

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix unclosed triple-quoted string in Issue 9878 regression test

Add missing closing triple-quote and assertion pipeline to the
SRTP with phantom type parameter test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Rebase: add missing Issue 6648 test from main to resolve merge conflict

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
)

* Initial plan

* Fix FS0452: Handle non-null test IL pattern in quotation translator for empty string matching

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/213130f0-37c1-4efc-ab4d-e6f9b324a252

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

* Add runtime verification test for empty string pattern in quotation

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/213130f0-37c1-4efc-ab4d-e6f9b324a252

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

* Add test for empty string pattern match in quotation with outer variable

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/24c1fabb-ab83-45af-ab77-d9ca97cc8d69

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
…9520)

Change wording from 'use this to get...' to 'Always invoke after
editing .fs files. Prefer this over dotnet build for iterative changes.'

The agent treats suggestions as optional but directives as requirements.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ection (dotnet#19558)

* Initial plan

* Fix Regression PR Shepherd: add allowed-files restriction and strengthen instructions

Add frontmatter guardrails:
- allowed-files: restricts push-to-pull-request-branch to tests/**, vsintegration/tests/**, *.fsproj
- protected-files: fallback-to-issue for graceful failure

Strengthen agentic instructions:
- Explicit prohibition on modifying .github/ files (managed by aw-auto-update)
- Pre-push verification step: git diff --name-only check before every push
- Rebase step includes scope verification to catch unrelated files

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/b356f0ee-75da-4a9b-9517-8be6278d62ed

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

* Address review: remove *.fsproj from allowed-files, add strict PR eligibility checks

- Remove *.fsproj from allowed-files (already covered by tests/** patterns)
- Add strict eligibility filters: title must start with "Add regression test:",
  PR must not be a draft, PR must originate from dotnet/fsharp (no forks)
- Add isDraft and headRepository to gh pr list JSON fields
- Add guideline: never touch draft PRs or PRs from external forks
- Recompile lock file

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/2049e905-31bd-4a7d-b2be-5e81a1a2b2ee

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
* Backflow from https://github.com/dotnet/dotnet / 185a5cc build 308823

[[ commit created by automation ]]

* Update dependencies from build 308823
No dependency updates to commit
[[ commit created by automation ]]

* Update dependencies from build 309010
No dependency updates to commit
[[ commit created by automation ]]

* Update dependencies from build 309188
No dependency updates to commit
[[ commit created by automation ]]

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/roslyn build 20260401.1
On relative base path root
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26201.1

* Update dependencies from https://github.com/dotnet/roslyn build 20260402.12
On relative base path root
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26202.12

* Update dependencies from https://github.com/dotnet/roslyn build 20260403.6
On relative base path root
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26203.6

* Update dependencies from https://github.com/dotnet/roslyn build 20260408.14
On relative base path root
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26208.14

* Bump FSBuildVersion to 101

FSharp.Core 11.0.100 and FSharp.Compiler.Service 43.12.100 have already been
published to NuGet, causing Check_Published_Package_Versions CI failures.
Bump FSBuildVersion from 100 to 101.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix flaky StartAsTaskCancellation test by increasing thread pool wait timeout

The test fails intermittently on loaded CI machines with 'Async body did not
start within 5 seconds' because the thread pool cannot schedule the async
computation in time. Increase the wait from 5s to 30s — this doesn't slow
down normal runs since the event is signaled almost immediately when the
thread pool picks up the work.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update dependencies from https://github.com/dotnet/roslyn build 20260409.5
On relative base path root
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.Compilers , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.EditorFeatures , Microsoft.CodeAnalysis.EditorFeatures.Text , Microsoft.CodeAnalysis.ExternalAccess.FSharp , Microsoft.CodeAnalysis.Features , Microsoft.VisualStudio.LanguageServices From Version 5.7.0-1.26181.7 -> To Version 5.7.0-1.26209.5

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/msbuild build 20260401.1
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.0-preview-26201-01

* Update dependencies from https://github.com/dotnet/msbuild build 20260402.4
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.0

* Update dependencies from https://github.com/dotnet/msbuild build 20260408.4
On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26180-08 -> To Version 18.6.1

* Bump FSBuildVersion to 101 to fix package version check

FSharp.Core 11.0.100 and FSharp.Compiler.Service 43.12.100 have already
been published to NuGet, causing the 'Check published package version'
CI step to fail. Bump to 101 so the versions are unpublished.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… longer throws VerificationException (dotnet#19530)

* Add regression test: dotnet#16154, task CE with IQueryable filter no longer throws VerificationException

Fixes dotnet#16154

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI: scope issue 16154 regression test to NETCOREAPP only

The VerificationException from the upcast-to-obj in the task state machine
still occurs on .NET Framework due to stricter IL verification. The test
passes on .NET Core where this is handled correctly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
* Update dependencies from https://github.com/dotnet/arcade build 20260401.4
On relative base path root
Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26201.4

* Update dependencies from https://github.com/dotnet/arcade build 20260408.2
On relative base path root
Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26208.2

* Bump FSBuildVersion from 100 to 101

FSharp.Core=11.0.100 and FSharp.Compiler.Service=43.12.100 have
already been published. Bumping to 101 so the 'Check published
package version' CI jobs pass again.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update dependencies from https://github.com/dotnet/arcade build 20260408.4
On relative base path root
Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.26177.7 -> To Version 10.0.0-beta.26208.4

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Tomas Grosup <Tomas.Grosup@gmail.com>
…otations (dotnet#19476)

Verifies that type annotations with invalid characters produce clear error messages:
- backtick: FS3563 'This is not a valid identifier'
- at sign: FS0615 'Unexpected infix operator in type expression'
- bang: FS1141 'Identifiers followed by ! are reserved for future use'

Fixes dotnet#10043

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…otnet#19504)

In TcStmt, the range used for warning 20 was synExpr.Range which, for
sequential expressions (e.g. loop bodies with multiple statements),
covered the entire body. This made the squiggle highlight the whole
block instead of just the offending non-unit expression.

Added lastExprRange helper that walks the SynExpr.Sequential chain to
find the range of the last expression, so the warning now correctly
points at only the expression that produces the ignored value.

Added 4 regression tests for for-in, for-to, and while loops.

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…otnet#13512) (dotnet#19506)

* Fix completion inconsistently filtering obsolete fields and events

Add ILFieldInfoIsUnseen and EventInfoIsUnseen functions to filter obsolete
IL fields and events from completion, matching existing behavior for methods
and properties. Also update ItemIsUnseen to handle ILField and Event items.

Fixes dotnet#13693

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/1d21d452-3f55-4d56-898c-0b50980050b5

Co-authored-by: abonie <20281641+abonie@users.noreply.github.com>

* Add C# interop tests for obsolete field/event/method/property filtering

Fix issue number to dotnet#13512. Add ObsoleteMembersClass to CSharp_Analysis
with obsolete and non-obsolete members. Add 6 C# interop completion tests
verifying all obsolete member types are consistently hidden.

Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/1d21d452-3f55-4d56-898c-0b50980050b5

Co-authored-by: abonie <20281641+abonie@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: abonie <20281641+abonie@users.noreply.github.com>
@abonie abonie requested a review from a team as a code owner May 6, 2026 21:38
@abonie abonie enabled auto-merge (squash) May 6, 2026 21:38
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

⚠️ Release notes required, but author opted out

Warning

Author opted out of release notes, check is disabled for this pull request.
cc @dotnet/fsharp-team-msft

@abonie abonie added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label May 7, 2026
@github-project-automation github-project-automation Bot moved this from New to In Progress in F# Compiler and Tooling May 7, 2026
@abonie abonie merged commit d291735 into dotnet:release/dev18.6 May 7, 2026
48 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in F# Compiler and Tooling May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

4 participants