Posted by Seth Ladd
We've compiled a list of some of the language features that are targeted for the M1 release of Dart. We hope this helps you track the features you are interested in. This list is a good way to associate a specific language change to its implementation in the Dart VM, Dart2js, and the Analyzer.
Be sure to star the bugs important to you, and you'll get notifications when the issues are closed.
As always, we really appreciate feedback on the
Dart mailing list and
Stack Overflow.
(This isn't a complete list, and of course things can change in the future.)
| | | | | |
| Feature | Lang
issue# | dart2js
issue# | VM
issue# | Analyzer
issue# |
| support const modifier for variables | 3549 | 3552 | Done @9992 | Done @8670 |
| type included in this.x | | | N/A | |
| external functions | 3570 | | | Done @10144 |
| allow non-constant initializers for fields | 1038 | 3849 | 3848 | Done @10233 |
| stop treating final like const | | | | |
| lazy static init | 3557 | 3559 | 3558 | 3476 |
| operator syntax | 3765 | 3766 | 3767 | 3768 |
| operator == / remove === | 3765 | | | |
| import scope | 1285 | 2946 | 2945 | 3548 |
| show:, hide: | 817 | 3454 | 3453 | 3452 |
| re-export | 760 | 3070 | 3071 | 3083 |
| revised switch | | | | 2862 |
| call | 2931 | 2932 | 1604 | 1355 |
| static methods are constants | 1652 | 3405 | 3406 | 3404 |
| error -> warning: factories | 1031 | 3080 | Done | 3078 |
| error -> warning: static calls | 1031 | 3086 | 3085 | 3084 |
| error -> warning: static getters | 1031 | 3089 | 3088 | 3087 |
| error -> warning: static setters | 1031 | 3095 | 3094 | 3093 |
| error -> warning: undefined constructors | 1031 | 3802 | 3801 | 3800 |
| support new catch syntax | 2948 | 3578 | 3757 | 3756 |
| remove old catch syntax | | | | |
| noSuchMethod API | 3564 | 3566 | 3565 | N/A |
| shadowing is not a warning | 3560 | N/A | N/A | 3562 |
| support new getter/setter syntax | 3602 | 3609 | 3608 | 3607 |
| remove old getter/setter syntax | | | | |
| first class types | 3368 | 3903 | 3902 | 3904 |
| remove abstract modifier on methods | 3898 | 3901 | 3900 | 3899 |
| remove interface declarations | 3966 | 3973 | 3972 | 3971 |
| | | | | |
| Missing things? | | | | |
| library/import/source syntax/revisions? | 1378 | 4050 | 4049 | 4048 |
| redirecting factory constructors | 3966 | 3970 | 3969 | 3968 |
| detect if optional arg was passed | 4180 | 4266 | 4265 | 4264 |
| metadata | 3214 | 4058 | 4057 | 4056 |
| member cannot conflict with class name | 3284 | 3988 | 3987 | 3986 |
| constructor cannot conflict with member | 3040 | 3991 | 3990 | 3989 |
| revised parameter syntax | 4288 | 4291 | 4290 | 4289 |