Skip to content

Fix super set for VSTHRD103 #1423

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
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Fix super set for VSTHRD103 #1423

wants to merge 1 commit into from

Conversation

Tobbeman
Copy link

@Tobbeman Tobbeman commented Feb 22, 2025

Fixes bug raised here: #1422

The method of HasSupersetOfParameterTypes confused me as I think the check was inverted?
I took the liberty to change that as well, but let me know if I understand it wrong.

Any and all feedback is appreciated

@Tobbeman
Copy link
Author

@Tobbeman please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

@Tobbeman
Copy link
Author

Tobbeman commented Feb 23, 2025

On further thinking; would it not be better to be strict here, ensuring the method is a strict match or strict match + cancellationToken?

The current code will match, regardless of my change or not

void Bar(int i1) {}
Task BarAsync(int i1, int i2, int i3, int i4) => Task.CompletedTask

Only matching same arguments + optional cancellation token:

void Bar(int i1) {}
Task BarAsync(int i1, int i2, int i3, int i4) => Task.CompletedTask
Task BarAsync(int i1) => Task.CompletedTask // Match
Task BarAsync(int i1, CancellationToken t) => Task.CompletedTask // Match

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant