The rules used by the compiler front end to perform type inference on if-null expressions (expressions of the form
e1 ?? e2) will be changed to match the behavior of the analyzer. The change is as follows: when the context for the entire
e1 ?? e2 expression is
dynamic, the context for
e2 will be the static type of
e1.
This change is expected to have low impact on real-world code. But in principle it could cause compile-time errors or changes in runtime behavior.
If this breaking change poses a severe problem, please leave comments in the linked issue.