Skip to content
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

Source generator proposal: Equality #48733

Open
333fred opened this issue Apr 28, 2020 · 7 comments
Open

Source generator proposal: Equality #48733

333fred opened this issue Apr 28, 2020 · 7 comments
Assignees
Milestone

Comments

@333fred
Copy link
Member

333fred commented Apr 28, 2020

We should consider building and shipping a source generator for equality as part of the default .NET tooling. The C# LDT has explicitly backed off from doing a completely-customizable equality feature: https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-03-30.md#value-equality. However, it seems like customizable equality (such as sequence equality for collections, case-insensitive comparison for strings, other customizations) are and will continue to be a pain point. We should consider building a first-party generator for equality, with annotation types built into the framework and the generator shipped with the SDK. If we don't do this with the initial release of source-generators or soon afterwards, we may end up with a fractured ecosystem of such generators with no consistent style.

/cc @chsienki

@Jose10go
Copy link

Jose10go commented Jun 4, 2020

Sorry for write here but ... is there a place for a join a discussion on allow edition in source generation and ideas to make the edition "save". I cant find it ... sorry again

@jmarolf
Copy link

jmarolf commented Jun 4, 2020

@Jose10go being able to modify existing code is not a feature we anticipate ever doing at this time. Please file a new issue on this repo if you want to discuss it.

@333fred
Copy link
Member Author

333fred commented Feb 25, 2021

Moving this to the runtime repo, as this would be an in-box source generator.

@333fred 333fred transferred this issue from dotnet/roslyn Feb 25, 2021
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Feb 25, 2021
@danmoseley danmoseley added code-analyzer Marks an issue that suggests a Roslyn analyzer area-Meta labels Feb 25, 2021
@stephentoub stephentoub added this to the Future milestone Feb 25, 2021
@carlossanlop
Copy link
Member

@danmoseley is the code-analyzer label correct?

@ghost ghost added the needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration label Apr 8, 2021
@danmoseley danmoseley removed the code-analyzer Marks an issue that suggests a Roslyn analyzer label Apr 8, 2021
@danmoseley
Copy link
Member

No, fixed.

@joperezr joperezr removed needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration untriaged New issue has not been triaged by the area owner labels Apr 13, 2021
@CyrusNajmabadi CyrusNajmabadi self-assigned this Jun 2, 2021
@ghost ghost added the needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration label Jun 2, 2021
@CyrusNajmabadi
Copy link
Member

Assigning to myself to proceed with a WG to come up with a proposal here. TAgging @cston @333fred @RikkiGibson @jcouv who all showed interest in this topic.

Related to dotnet/roslyn#48646.

@joperezr joperezr removed the needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration label Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

8 participants