Hi,
I think some of the Dart team are on vacation to be able to answer this.
From what I have seen of the discussions about it, it seems that compiling
Dart to JavaScript has taken precedence, and this feature was never fully
implemented in the Dart to JavaScript compilers.
I think this feature lent itself to an advanced use-case of constructors, and
the Dart team has said before that constructors are some of the most
complicated features of the language. Add to it that Dart has been evolving
in the direction of static types while still supporting dynamic types as a backup
and it becomes more complicated.
It seems that the feature was at least partially implemented on the Dart VM
itself. But the Dart VM has since seen its use be relegated to running Dart
tools and nowadays Flutter, and supporting just the Dart VM became more
unnecessary. Flutter does not need the entire VM when being deployed, and
in Flutter they have found out that AoT can be useful for them on Android
and iOS. And AoT strips the VM bare for deployment. Which is probably to
say that the Dart VM will not be shipping fully to all possible devices either.
The Dart team seems to be trying to balance the needs of Flutter, Dart to
JavaScript and "sound typing." They may have stopped developing the
language in earnest and may be trying to cut some corners these days. I
haven't seen much activity from Gilad Bracha who helped to make the
language features more thorough. The team may be reduced to being more
practical and to serving Google's shorter term needs.
Cheers,
Joao