-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Mark Enumerable methods with the PureAttribute #33414
Comments
I couldn't add an area label to this Issue. Checkout this page to find out which area owner to ping, or please add exactly one area label to help train me in the future. |
Tagging @eiriktsarpalis @adamsitnik as requested by @Dotnet-GitSync-Bot |
Mainly because [Pure] is part of the Contracts APIs, which we've stopped using in general across the core libraries. We've not gone through and purged existing usage of Pure, but we also haven't been adding it to new APIs in the last many years. |
I see! I wasn't aware this was somehow "deprecated". Are you planning to have any kind of replacement? I see a lot of places where an attribute gives some metadata and helps building analyzers. |
Not currently. Being able to reason about what kind of mutations code might or might not perform is certainly interesting, but it's also non-trivial; [Pure] only scraped the surface. For example, see the whole "Permissions" section in the write-up here: http://joeduffyblog.com/2016/11/30/15-years-of-concurrency/. |
Great article, thanks for sharing. |
Hello,
Looking at dotnet/roslyn-analyzers#3363 I have realized that the
System.Linq.Enumerable
methods are not marked with thePureAttribute
which seems odd to me. Is there an obvious reason I am missing?The text was updated successfully, but these errors were encountered: