-
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
Enable nullable annotations for M.E.L.Abstractions #43892
Conversation
Tagging subscribers to this area: @maryamariyan |
src/libraries/Microsoft.Extensions.Logging.Abstractions/src/LoggerExternalScopeProvider.cs
Outdated
Show resolved
Hide resolved
} | ||
|
||
return _formatter.GetValue(_values, index); | ||
return _formatter!.GetValue(_values!, index); |
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.
Note for reviewer: _values is not null due to what Count
returns on line 76
edae4e5
to
8df11e4
Compare
src/libraries/Common/src/Extensions/Logging/NullExternalScopeProvider.cs
Show resolved
Hide resolved
...s/Microsoft.Extensions.Logging.Abstractions/ref/Microsoft.Extensions.Logging.Abstractions.cs
Outdated
Show resolved
Hide resolved
...s/Microsoft.Extensions.Logging.Abstractions/ref/Microsoft.Extensions.Logging.Abstractions.cs
Outdated
Show resolved
Hide resolved
...s/Microsoft.Extensions.Logging.Abstractions/ref/Microsoft.Extensions.Logging.Abstractions.cs
Show resolved
Hide resolved
@@ -10,11 +10,11 @@ namespace Microsoft.Extensions.Logging | |||
{ | |||
private readonly object _dummy; | |||
private readonly int _dummyPrimitive; | |||
public EventId(int id, string name = null) { throw null; } |
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.
please make sure owner of this library double checks the annotations of the ref
...s/Microsoft.Extensions.Logging.Abstractions/ref/Microsoft.Extensions.Logging.Abstractions.cs
Show resolved
Hide resolved
<EnableDefaultItems>true</EnableDefaultItems> | ||
<!-- Use targeting pack references instead of granular ones in the project file. --> | ||
<DisableImplicitAssemblyReferences>false</DisableImplicitAssemblyReferences> |
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.
Did you intend to check in these changes?
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.
yes this was intentional otherwise wouldn't have been able to add NetCoreAppCurrent for the project I think.
cc: @safern
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.
The reason behind adding NetCoreAppCurrent
for these projects was to have CI protection for the nullable annotations to actually be correct and not broken on by upcoming changes but to actually not ship that asset. However the only caveat that this brings is that by adding this I'm not sure if people can just clone the repo and build this project without pre building anything else which was an effort @ViktorHofer did in the past.
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.
yes this was intentional otherwise wouldn't have been able to add NetCoreAppCurrent for the project I think.
This property is for convenience only, in case you don't want to list all the individual assembly references. In this case I think it's fine as we don't ship the `$(NetCoreAppCurrent)' asset.
However the only caveat that this brings is that by adding this I'm not sure if people can just clone the repo and build this project without pre building anything
Unfortunately with our current infra that's true but I don't think we should see that as a blocker. I would like to improve our infra so that $(NetCoreAppCurrent)
builds via dependencies without an up-front build which would also enable VS builds for .NETCoreApp without up-front steps.
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.
Overall LGTM.
src/libraries/Microsoft.Extensions.Logging.Abstractions/src/LogEntry.cs
Outdated
Show resolved
Hide resolved
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.
LGTM with some questions
70e6b56
to
c3e738b
Compare
to allow annotations on relevant projects, not yet enabled
c3e738b
to
0ad32e6
Compare
@stephentoub @krwq @tarekgh looked at all the comments and made all the changes I was planning to do. I posed this question in #43892 (comment) too.
let me know what you think. |
Updates on PR since it was last reviewed:
|
@stephentoub @krwq could you please re-review? |
...Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj
Show resolved
Hide resolved
…ons-null Conflicts: src/libraries/Microsoft.Extensions.Logging.Abstractions/src/Microsoft.Extensions.Logging.Abstractions.csproj
Hello @maryamariyan! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
@maryamariyan, doesn't the ref csproj need |
cc: @buyaa-n @safern
Related to #43605