-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Test plan for "improved definite assignment" #51463
Comments
dotnet-issue-labeler
bot
added
the
untriaged
Issues and PRs which have not yet been triaged by a lead
label
Feb 25, 2021
jaredpar
removed
the
untriaged
Issues and PRs which have not yet been triaged by a lead
label
Mar 3, 2021
This was referenced Apr 6, 2021
This was referenced Apr 15, 2021
This was referenced May 7, 2021
This was referenced May 14, 2021
We concluded that before feature merge, we will just get the nullable 'is' PR (#53311) merged, then another PR to ensure test coverage for the implemented aspects of the feature. We intend to do the 'switch' and '<=' aspects in PRs to main after the feature is merged before shipping C# 10. |
I think we can close this now. Thanks |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Championed issue: dotnet/csharplang#4465
Spec: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-10.0/improved-definite-assignment.md#specification
??
<null-conditional> ?? expr_second
? :
expr_cond ? expr_true : expr_false
can result in conditional state==
<null-conditional> == <null-constant>
<null-conditional> == <not-null>
expr == <constant-true>
expr == <constant-false>
!=
==
operatorsMeet()
between==
/!=
operands is soundis
<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>
Needs some discussion:
switch
>
, ...)Productivity
x != null && x?.TryGetValue(out y)
tox?.TryGetValue(out y) == true
The text was updated successfully, but these errors were encountered: