Ожидалось найти Flutter Freezed ')'
После обновления моего Flutter Freezed, похоже, генерирует файлы с ошибками для моих файлов Bloc / Cubit.
Pubspec.yaml содержит все последние версии пакетов.
part of 'test_cubit.dart';
@freezed
abstract class TestState with _$TestState {
const factory TestState.initial() = _Initial;
const factory TestState.loaded(String someValue) = _Loaded;
}
Будет сгенерировано как (только отрывок, в котором возникает ошибка)
/// @nodoc
class _$TestStateTearOff {
const _$TestStateTearOff();
_Initial initial() {
return const _Initial();
}
_Loaded loaded( String* someValue) {
return _Loaded(someValue,);
}
}
Изображение ошибок
Когда я удаляю *, все работает нормально. Кто-нибудь может пролить свет на это, пожалуйста?
1 ответ
Решение
Об этом в конце концов ответили на GitHub . Проблема была обнаружена после выполнения проверки, чтобы убедиться, что приложение полностью переведено на нулевую безопасность.
$ dart pub upgrade --null-safety
null-safety compatible versions do not exist for:
- build_runner
При беге
flutter pub run build_runner build
это дало ошибку
Error: Cannot run with sound null safety, because the following dependencies don't support null safety:
- package:build_runner_core
- package:build_runner
- package:build_config
- package:build_daemon
- package:code_builder
После редактирования
pubspec.yaml
и установив более высокую среду, это сработало. Это не было сделано автоматически как часть обновления (или новых приложений).
environment:
sdk: ">=2.12.0-0 <3.0.0"