-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Description
Championed issue: dotnet/csharplang#4465
Spec: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-10.0/improved-definite-assignment.md#specification
- definite assignment and nullability improvements for
??<null-conditional> ?? expr_second
- definite assignment and nullability improvements for
? :expr_cond ? expr_true : expr_falsecan result in conditional state
- definite assignment and nullability improvements for
==<null-conditional> == <null-constant><null-conditional> == <not-null>expr == <constant-true>expr == <constant-false>- corresponding rules for
!= - predefined vs. user-defined
==operators - DataFlowsOut API needs tests to demonstrate that the usage of
Meet()between==/!=operands is sound
- definite assignment and nullability improvements for
is<null-conditional> is <not-null-only-matching-pattern><null-conditional> is <null-only-matching-pattern><null-conditional> is <true-only-matching-pattern><null-conditional> is <false-only-matching-pattern>
- true, false operators
Needs some discussion:
- definite assignment and nullability improvements for
switch - definite assignment and nullability improvements for relational operators (
>, ...)
Productivity
- change
x != null && x?.TryGetValue(out y)tox?.TryGetValue(out y) == true
Reactions are currently unavailable
Metadata
Metadata
Assignees
Type
Projects
Status
Done Umbrellas