If T is an enum type, it is a warning if the switch does not handle all enum cases, either explicitly or via a default.
In fact, it is an error instead of warning
enum E {
one,
two,
three
}
main() {
E e = E.three;
switch (e) { // error - Missing case clause for 'three'
case E.one:
true;
break;
case E.two:
false;
break;
}
}
NNBD specification reads
In fact, it is an error instead of warning
Tested on
dartanalyzer version 2.8.0-dev.6.0