-
Notifications
You must be signed in to change notification settings - Fork 387
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
Treat records equal to classes #1576
Comments
I guess the same would apply for records with default constructor, like this: public record SomeType
{
public string? Optional { get; init; }
public required string Required { get; init; }
} If I change to class, I get 100 % coverage, but with record I get 66% coverage. |
@tengl This is another issue we already fixed with #1575. The |
@daveMueller that's great, I'll wait for the NuGet update. |
@MarcoRossignoli @bert2 what do you think about this. I think we would have less issues with records if we would undo the changes we did for #1139. |
Fine to me |
This issue is stale because it has been open for 3 months with no activity. |
Hello, are there any updates? Is the only workaround to put an |
This is a proposed design change related to records. As records in the IL are just classes with some generated methods we should also treat them like classes. With issue #1139 we implemented records (with primary constructor) to be completely excluded from instrumentation when auto properties are skipped. This is somehow troublesome because in the IL there is no difference to classes or records with auto properties.
As an example, when we
SkipAutoProps
the instrumentation of a record with a primary consturctor is completely skipped and looks like this:If we now compare this to an equivalent class with the same coverage parameters, the assignement in the constructor is still beeing instrumented (even with
SkipAutoProps
).I would suggest to do the same for records. As assignement in the constructor and definition of properties is all part of the primary constructor, it also should be instrument even if auto properties are skipped.
The text was updated successfully, but these errors were encountered: