-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Update all internal marshallers to the new model #71470
Update all internal marshallers to the new model #71470
Conversation
Tagging subscribers to this area: @dotnet/interop-contrib Issue DetailsGets us closer to being able to remove the v1 model as soon as we get the v2 model approved by API review.
|
… (or soon-to-be-public) marshallers over to the new model.
…prove the development experience.
This PR is ready for review again. |
[SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "This method is part of the marshaller shape and is required to be an instance method.")] | ||
public void Free() { } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's how the empty Free
methods look when they're required on the stateful shape. Just wanted to raise it for us to look at.
Might be worth investigating introducing a DiagnosticSuppressor to suppress this diagnostic in these cases as following the code fix would break the marshaller (and the diagnostic is configured to be an error in dotnet/runtime, so it needs to be manually suppressed here today)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oof, yeah, that is unfortunate. We should look into a suppressor - can you file an issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
Once this PR is in, we have no usages of the v1 model that aren't already public API or approved to be a public API.