Skip to content

[automated] Merge branch 'main' => 'feature/net11-scouting'#19419

Open
github-actions[bot] wants to merge 13 commits intofeature/net11-scoutingfrom
merge/main-to-feature/net11-scouting
Open

[automated] Merge branch 'main' => 'feature/net11-scouting'#19419
github-actions[bot] wants to merge 13 commits intofeature/net11-scoutingfrom
merge/main-to-feature/net11-scouting

Conversation

@github-actions
Copy link
Contributor

I detected changes in the main branch which have not been merged yet to feature/net11-scouting. I'm a robot and am configured to help you automatically keep feature/net11-scouting up to date, so I've opened this PR.

This PR merges commits made on main by the following committers:

  • T-Gro
  • dotnet-maestro[bot]

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout main
git pull --ff-only
git checkout feature/net11-scouting
git pull --ff-only
git merge --no-ff main

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/fsharp HEAD:merge/main-to-feature/net11-scouting
or if you are using SSH
git push git@github.com:dotnet/fsharp HEAD:merge/main-to-feature/net11-scouting

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/main-to-feature/net11-scouting'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.

git fetch
git checkout -b merge/main-to-feature/net11-scouting origin/feature/net11-scouting
git pull https://github.com/dotnet/fsharp merge/main-to-feature/net11-scouting
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/fsharp HEAD:merge/main-to-feature/net11-scouting
or if you are using SSH
git fetch
git checkout -b merge/main-to-feature/net11-scouting origin/feature/net11-scouting
git pull git@github.com:dotnet/fsharp merge/main-to-feature/net11-scouting
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/fsharp HEAD:merge/main-to-feature/net11-scouting

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.

T-Gro and others added 13 commits February 20, 2026 19:50
Fix 3 codegen bugs in closure generation and initialization:
- #19068: Object expressions in struct types generate invalid IL with byref fields
- #17692: Duplicate parameter names in closure constructors
- #12384: let-rec mutual recursion initialization order for mixed lambda/value bindings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- GenStructStateMachine: use GenGetFreeVarForClosure (like all other
  closure paths) to properly dereference byrefs when initializing
  captured variables in struct state machine closures.
- GenGetStorageAndSequel Env case: use ilField.ActualType instead of
  ilTy for the Push annotation so the stack tracking matches the
  actual type loaded by ldfld (important when byref is stripped by
  capturedTypeForFreeVar).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The struct delegate byref capture test fails on net472 Desktop because
the byref-in-struct compilation requires .NET Core runtime features.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Resolve merge conflict in release notes (keep both PR #19339 and #19403 entries)
- Extract shared ChooseUniqueName from duplicate logic in EraseClosures.fs
  and IlxGen.fs into IlxGenSupport.fs (addresses review feedback)
- Remove mkUniqueFreeVarName from EraseClosures.fs
- Rewrite ChooseFreeVarNames in IlxGen.fs using the shared helper

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

On relative base path root
Microsoft.Build , Microsoft.Build.Framework , Microsoft.Build.Tasks.Core , Microsoft.Build.Utilities.Core From Version 18.6.0-preview-26156-02 -> To Version 18.6.0-preview-26159-05

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>
Reset patterns:
- global.json
- eng/Version.Details.xml
- eng/Version.Details.props
- eng/Versions.props
- eng/common/**
- eng/TargetFrameworks.props
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant