Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

[release/3.0] Port recent nullability updates #25759

Merged
merged 4 commits into from Jul 18, 2019

Conversation

stephentoub
Copy link
Member

@stephentoub stephentoub commented Jul 17, 2019

cc: @danmosemsft, @safern, @wtgodbe, @agocke

This ports dbc0e19, 45e4834, and 8ba2e15 to release/3.0. The third one changes the public nullable annotations around events exposed from corelib, based on recent design decisions on how we want to handle events and nullability. The second one touches some of the same code, but more generally it's just removing a bunch of now unnecessary !s and // TODO-NULLABLE comments, and is likely to result in conflicts in the future given the number of lines it touches, so it's better to get it into the release branch given it's not impacting anything meaningful. The first one is mostly overwritten by the third one, and so porting it results in the most automated process. All three were cherry-picked, with no conflicts and no further manual changes quired.

The final commit is required to update the compiler used in the release branch to one with additional nullability fixes that allows all this to work.

After this, @safern will submit corresponding PRs to corefx, both master and release/3.0 branches, to update the corresponding ref assemblies.

safern and others added 4 commits July 17, 2019 17:50
* Remove !s and TODO-NULLABLE comments for [DoesNotReturn]

* Remove !s and TODO-NULLABLE comments for [NotNullIfNotNull]

* Remove !s and TODO-NULLABLE comments for writes via Interlocked.CompareExchange

* Remove !s and TODO-NULLABLE comments for Debug.Assert on fields

* Update/add several TODO-NULLABLE comments
Late-breaking design change: all events should be declared with nullable delegate types.
Copy link
Member

@safern safern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @stephentoub

@stephentoub
Copy link
Member Author

@danmosemsft signed off on this in #25752 (comment), as well as offline verbally for the !s/comments changes to minimize future conflicts with ports.

@danmoseley
Copy link
Member

Agreed. Is this the last though?

@stephentoub
Copy link
Member Author

Is this the last though?

The last what?

@danmoseley
Copy link
Member

The last what?

haha, I mean the last set of annotation adjustments you expect in the near future.

@stephentoub
Copy link
Member Author

It's the last we know about. Can't promise something else won't come up. This came about because of a bug fix in Roslyn that started triggering warnings we didn't expect, and it snowballed from there.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants