-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
1 / 31 of 3 issues completedLabels
Area-CompilersFeature - Extension EverythingThe extension everything featureThe extension everything feature
Milestone
Description
This issue is referenced in source.
It tracks scenarios that were identified as needing more nullability work.
There were two PRs on nullability already, focused on direct uses of extensions:
- Extensions: nullability analysis for invocations and method groups #78080 (handles invocations, method group conversions, deconstruction, state of the extension parameter)
- Extensions: nullability analysis for property access #78646 (handles property access and invocation of implementation accessors)
Aside from things tracked in source, the analysis of indirect usages of extension members is not done yet:
- foreach
- object/collection initializers
withexpression- collection expressions (binding follow-ups are addressed here)
- patterns (
is { ExtensionProperty: var x }) awaitfixedusing- potentially extension operators (those are in a feature branch, should discuss with Aleksey)
- also Aleksey noticed that we're not going into the right branch in
NullableWalker.GenerateConversion(first branch is forthisparameter of classic extension methods). Not sure how to observe this (should this method be simplified?)
It is possible that some of those already fail in the baseline (ie. we didn't implement nullability analysis with instance methods or classic extension methods). In such case, we can punt handling of new extensions.
Operators
- Inference from lambdas doesn't work (Binary_127_NullableAnalysis_WithLambda). There is also a relevant comment in
NullableWalker.ReInferBinaryOperatorhelper.
Relates to test plan #76130
RikkiGibson
Sub-issues
Metadata
Metadata
Assignees
Labels
Area-CompilersFeature - Extension EverythingThe extension everything featureThe extension everything feature