numen31337 / copy_with_extension

Provides Dart Build System builder for generating copyWith extensions for annotated classes.
https://pub.dev/packages/copy_with_extension_gen
MIT License
74 stars 30 forks source link

Inherits class with immutable #70

Open AbdAlrahmanShammout opened 1 year ago

AbdAlrahmanShammout commented 1 year ago

Hello I noticed a situation that I think is a problem, or that I could not find a solution to it When one class inherits from another class I can't influence variables to be of type: immutable example here: ↓ if any solution for this and thanks.


part 'square_model.g.dart';
@CopyWith()
class Square extends Shape {
  final String name;

  Square({
    required super.id,
    required this.name,
  });

}

abstract class Shape {
  @CopyWithField(immutable: true)
  final String id;

  Shape({required this.id});
}

Future<void> main() async {
  Square square = Square(id: '123', name: 'test');
  square.copyWith(
    id: '333', // ==> this has to be immutable
    name: 'test2',
  );
}