Open ueman opened 1 month ago
Summary: The Dart analyzer incorrectly fails to analyze a conditional expression within a list construction in an enhanced enum constructor. This occurs when the condition is a variable, but works when the condition is a ternary expression. The analyzer also throws an error on DartPad, preventing analysis.
Good catch!
I guess boolean
should have been loggingEnabled
, but the examples do in any case show that the analyzer gets confused about encountering an <ifElement>
in an <enumEntry>
, which is clearly a bug.
The common front end does not have any issues with these examples.
The
dart analyze
command fails for the following (invalid) Dart code snippet:The analyzer also fails for the following Dart code, which, to my understanding, should be valid Dart code:
The following code however, seems to be fine:
Locally, I use
but I can also reproduce it on DartPad with
Dart SDK 3.5.0 and Flutter SDK 3.24.0
, with Version127.0.6533.100 (Official Build) (arm64)
. On DartPad I get the following error message:This also crashes the
custom_lint
(0.6.3, I haven't tested 0.6.4) package with the following error message:Which, to me, indicates it's also an issue in the
analyzer
.