Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fix go to definition for conversions on invalid constructor overloads #78514

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Rekkonnect wants to merge 8 commits into dotnet:main
base: main
Choose a base branch
Loading
from Rekkonnect:fix/73498-77545-go-to-def-error-ctor

Conversation

Copy link
Contributor

@Rekkonnect Rekkonnect commented May 8, 2025
edited
Loading

Closes #73498
Closes #77545

With this PR, the GetSymbolInfo API and all the corresponding APIs using it will be affected for the scenarios where an object creation expression used a constructor overload that doesn't exist, whilst the expression was being implicitly converted to another type. The previous behavior would resolve to the target type of the conversion, since the binding result would be an overload resolution, whereas now it has been changed to resolve to the existing overload resolution result.

The goal of this change is also reflected in GTD which will now correctly navigate to the type whose constructor was not found, instead of the target conversion type, or the implicit conversion method.

This also adds tests for explicit conversions on object creation expressions, covering the above scenaria.

@Rekkonnect Rekkonnect requested review from a team as code owners May 8, 2025 21:13
@ghost ghost added Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead labels May 8, 2025
@dotnet-policy-service dotnet-policy-service bot added the Community The pull request was submitted by a contributor who is not a Microsoft employee. label May 8, 2025
Copy link
Contributor

We need to have direct tests for SemanticModel API, plus an explanation what was the old behavior, why it was wrong, etc.

@Rekkonnect Rekkonnect marked this pull request as ready for review May 10, 2025 13:41
Copy link
Contributor Author

@AlekseyTs this is ready for review

Copy link
Contributor

AlekseyTs commented May 30, 2025
edited
Loading

plus an explanation what was the old behavior, why it was wrong, etc.

Was the explanation provided? Basically we need a clear description of the problem with the SemanticModel API. The reason why you think the present behavior is wrong, a description of the expected behavior with a reason behind the expectation.

Copy link
Contributor Author

Was the explanation provided?
I added an explanation here: https://github.com/dotnet/roslyn/pull/78514/files#diff-d901fc0a7ce2d67b0336c3708a45962ee31ae1ce7c9c67e79d3def4fc8f947bfR1913-R1916

I can reword it if you feel like it doesn't provide enough information

Copy link
Contributor

AlekseyTs commented Jun 3, 2025
edited
Loading

I think this isn't quite what I was looking for. I was looking for a description of your intent in this PR and the reason behind the intent. Something like: "I intend to change behavior *** API for the scenarios ***. The current behavior of the API is ***. I think it should be *** instead, because ***." Obviously your ultimate goal is to get some IDE scenarios working, but simply stating that is not sufficient for changing how compiler API behaves. In order for the Compiler team to review the PR, we need the intent stated in "Compiler API" terms.

Rekkonnect reacted with thumbs up emoji

@AlekseyTs AlekseyTs added the Need More Info The issue needs more information to proceed. label Jun 17, 2025
Copy link
Contributor Author

@AlekseyTs updated the description and brought the PR up to date, ptal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

Area-Compilers Community The pull request was submitted by a contributor who is not a Microsoft employee. Need More Info The issue needs more information to proceed. untriaged Issues and PRs which have not yet been triaged by a lead

Projects

None yet

Milestone

No milestone

AltStyle によって変換されたページ (->オリジナル) /