Dart2ではnewやconstが省略可能らしいので書き換えてみるかとnewを削除して実行したところコンパイルエラーとなった。
Error: The Keyword 'const' or 'new' is required here. Due to an implementation limit, the compiler isn't able to infer 'const' or 'new' here.
Tab(icon: Icon(Icons.directions_car)),
^
先に結論
FlutterSDKが古かった。 flutter upgrade
で最新にUpgradeして解決。
Flutter dart2
でググる
ヒットしたこちらやこちらの記事によると Android Studioを使っている場合、Preferences
にdart2を使用するための項目があるとのことだったが見当たらなかった。
どうやらFlutter Plugin Version 25.0でその項目は削除されたらしい。
flutter docter
困った時の flutter docter
。v0.2.8...最新じゃない気がする。
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.2.8, on Mac OS X 10.13.5 17F77, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
[✓] Android Studio (version 3.1)
[!] IntelliJ IDEA Community Edition (version 2018.1.4)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.24.0)
[✓] Connected devices (2 available)
FlutterSDK更新はflutter upgrade
で行える。
更新して改めて実行すると無事アプリが動いた。
おわりに
ASがFlutterのVersion古いって知らせてくれたら嬉しいなあと思いました。(気がつなかっただけ?)