bf56b2ca2c
We produce a diagnostic under the following conditions: - For compound assignments, if the type read from the LHS is nullable (this is illegal after NNBD, and requires user intervention to fix). - For compound assignments, if the type returned from the combiner is not assignable to the LHS (this was required prior to NNBD, but it is a stricter condition after migration, both because the LHS might have a non-nullable type, and because implicit downcasts are not allowed). - For null-aware assignments, if the type read from the LHS is non-nullable (this indicates that once strong mode is enabled, the assignment will be dead code). Bug: https://github.com/dart-lang/sdk/issues/38676 Change-Id: Icb242ba36437e38364ada069880831eb05e3a513 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145664 Reviewed-by: Mike Fairhurst <mfairhurst@google.com>