Description
The "ignore:" syntax was intended to allow users to suppress warnings, hints, and lints; and nearly all cases that is how it is used. However, it currently allows errors to be suppressed as well. This creates the risk that genuine errors will creep into users' code bases due to inadvertent use of "ignore:". We would like to change the behavior of "ignore:" so that it cannot suppress errors.
Note that before we can fix this we must address #26980 (since Flutter is currently using the "ignore:" syntax to work around that issue). To work around this issue, we plan to change analyzer's behavior to match the VM's (so that enums may be equality compared inside constants). The issue will remain open, since the spec either needs to be updated to match this behavior, or we need to change the VM and analyzer to disallow it and find a different way to meet Flutter's needs.