Skip to content

Merge branch 'main' into Unions#81585

Merged
AlekseyTs merged 613 commits into
dotnet:features/Unionsfrom
AlekseyTs:Unions_05
Dec 8, 2025
Merged

Merge branch 'main' into Unions#81585
AlekseyTs merged 613 commits into
dotnet:features/Unionsfrom
AlekseyTs:Unions_05

Conversation

@AlekseyTs

@AlekseyTs AlekseyTs commented Dec 8, 2025

Copy link
Copy Markdown
Contributor

No interesting conflicts

CyrusNajmabadi and others added 30 commits November 21, 2025 10:29
Fixes https://dev.azure.com/devdiv/DevDiv/_workitems/edit/2641964.

StringTokenMap (added in dotnet#78033)
used reference equality comparer; I believe by mistake; which
made it possible for it to contain the same string multiple times;
leading to overflowing the user string heap limit sooner than before.
…sibility of declared extension method (dotnet#81378)

Due to an oversight it was compared to accessibility of extension block
container, which is always `public`.

Fixes dotnet#81180

Relates to test plan dotnet#76130
Co-authored-by: CyrusNajmabadi <4564579+CyrusNajmabadi@users.noreply.github.com>
[main] Update dependencies from dotnet/arcade
[main] Update dependencies from dotnet/arcade
Co-authored-by: CyrusNajmabadi <4564579+CyrusNajmabadi@users.noreply.github.com>
Co-authored-by: CyrusNajmabadi <4564579+CyrusNajmabadi@users.noreply.github.com>
Co-authored-by: CyrusNajmabadi <4564579+CyrusNajmabadi@users.noreply.github.com>
Co-authored-by: CyrusNajmabadi <4564579+CyrusNajmabadi@users.noreply.github.com>
I am proposing fixes for two LSP conformance issues I discovered while
integrating Roslyn LSP with Zed:

1. The response from the `textDocument/diagnostic` request cannot be
`null`. MS.CA.LanguageServer currently returns a `null` response in the
case described here:
https://github.com/dotnet/roslyn/blob/76a39c1a97fe5c73549786fc6944dc188a7b7b3b/src/LanguageServer/Protocol/Handler/Diagnostics/DiagnosticSourceProviders/DiagnosticSourceManager.cs#L72-L80
Because the set of diagnostic handlers is empty, a response value is
never generated for the request, and we fall through to returning
`null`. Instead, explicitly return an empty list of diagnostics. (This
is exactly how VS Code's LSP client treats a `null` response.)

2. Methods that take no parameters (e.g. `workspace/diagnostic/refresh`)
were being sent with an empty array as the parameter value. This is
because the `InvokeWithCancellationAsync` method in StreamJsonRpc
normalizes unspecified arguments to an empty list. Use the
`InvokeParameterObjectAsync` method instead, which don't do this.
CyrusNajmabadi and others added 11 commits December 8, 2025 12:22
…ions (dotnet#81569)

Language rules around conversions are getting more and more complex. At
the same time Convert APIs in SyntheticBoundNodeFactory might confuse
consumer into thinking that they are able to synthesize nodes for
arbitrary conversions, which is not the case.

This change removes one API and adds an assert to remaining API to
verify that only conversions that are natively supported by Emit layer
are coming through.
@AlekseyTs AlekseyTs requested review from a team as code owners December 8, 2025 22:25
@dotnet-policy-service dotnet-policy-service Bot added VSCode Needs UX Triage Needs API Review Needs to be reviewed by the API review council labels Dec 8, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

This PR modifies public API files. Please follow the instructions at https://github.com/dotnet/roslyn/blob/main/docs/contributing/API%20Review%20Process.md for ensuring all public APIs are reviewed before merging.

@AlekseyTs

Copy link
Copy Markdown
Contributor Author

@dotnet/roslyn-compiler Need a sign-off on a merge PR.

@AlekseyTs AlekseyTs enabled auto-merge December 8, 2025 22:40
@AlekseyTs AlekseyTs merged commit bbcb427 into dotnet:features/Unions Dec 8, 2025
28 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Compilers Needs API Review Needs to be reviewed by the API review council Needs UX Triage VSCode

Projects

None yet

Development

Successfully merging this pull request may close these issues.