Closed1

Missing concrete implementations of 'getter mixin _$ClassName on Object.id', 'getter mixin _$Clas...

hott3hott3

いつ遭遇したか

freezed 3.0以上を利用しているプロジェクトでビルドコマンドを実行した際に発生した

バージョン指定の記載

freezed: ^3.1.0

エラーコード

Missing concrete implementations of 'getter mixin _$ClassName on Object.id', 'getter mixin _$ClassName on Object.name', and 1 more.
Try implementing the missing methods, or make the class abstract.

実際のコード

 import 'package:freezed_annotation/freezed_annotation.dart';
 
 part 'class_name.freezed.dart';
 part 'class_name.g.dart';
 
 @freezed
 class ClassName with _$CraftEssence {
   const ClassName._();
 
   factory ClassName({
     required String id,
     required String name,
   }) = ClassName;
 
   factory ClassName.fromJson(Map<String, dynamic> json) =>
       _$ClassNameFromJson(json);
 }

対応

  • freezed 3.0の破壊的変更の確認
  • sealed もしくは abstract を記載

freezed 3.0の破壊的変更の確認

公式

https://pub.dev/packages/freezed/changelog#300---2025-02-25

参考になりました🙇‍♂️

https://zenn.dev/jigjp_engineer/articles/36636d05b1be60
https://zenn.dev/joo_hashi/books/dac5f16428261c/viewer/f31cbe

sealed もしくは abstract を記載

@freezed
sealed class ClassName with _$ClassName {
@freezed
abstract class ClassName with _$ClassName {

備考

参考にしたが今回の現象の解消にはいたらなかった記事

https://qiita.com/imajoriri/items/84e1fc3674d5c9835938
https://github.com/rrousselGit/freezed/issues/900

このスクラップは2ヶ月前にクローズされました