invalid_factory_method_impl
Factory method '{0}' doesn't return a newly allocated object.
Description
#The analyzer produces this diagnostic when a method that is annotated with the factory
annotation doesn't return a newly allocated object.
Example
#The following code produces this diagnostic because the method createC
returns the value of a field rather than a newly created instance of C
:
dart
import 'package:meta/meta.dart';
class Factory {
C c = C();
@factory
C createC() => c;
}
class C {}
Common fixes
#Change the method to return a newly created instance of the return type:
dart
import 'package:meta/meta.dart';
class Factory {
@factory
C createC() => C();
}
class C {}
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.