Ожидалось найти 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"
Другие вопросы по тегам