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
Add JetBrains Annotations (useless from C# 8) #1544
Conversation
This comment has been minimized.
This comment has been minimized.
HOW would those annotations get erased from metadata? Does the nuget package add msbuild logic? Sounds rickety... |
This comment has been minimized.
This comment has been minimized.
I'm only fine with this if it can be disabled by default (or at least just locally). These links look relevant? To explain my take, see the SO question for how much time it takes when nuget is heavily involved. And if we start one day, in a few years it will take just as much time (or more). So being able to avoid the overhead is valuable. |
...except Version, which really doesn't warrant it
Checkout branch |
It took a few seconds to update the packages, but then everything kept building at normal speed, without nuget notifications. And it explicitly said fetching them upon build can be disabled. So until newer packages slow us down too much, it's fine. |
Not a fan of this. It is SO intrusive, for a not-free IDE that few people are using |
To answer this: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.conditionalattribute?view=netframework-4.8 |
First-party nullability is opt-in enabled in |
Includes
NotNullAttribute
/CanBeNullAttribute
for design-time null checks by Rider, plus some other stuff. This is effectively a backport of nullable reference types from C# 8.The package description claims "All usages of ReSharper Annotations attributes are erased from metadata by default, which means no actual binary reference to 'JetBrains.Annotations.dll' assembly is produced."
edit: consensus is that the benefits are too few, but I'm leaving this open as an extra nag to move to Framework 4.8.