not_ initialized_ non_ nullable_ variable
The non-nullable variable '{0}' must be initialized.
Description
#
The analyzer produces this diagnostic when a static field or top-level
variable has a type that's non-nullable and doesn't have an initializer.
Fields and variables that don't have an initializer are normally
initialized to null, but the type of the field or variable doesn't allow
it to be set to null, so an explicit initializer must be provided.
Examples
#
The following code produces this diagnostic because the field f can't be
initialized to null:
class C {
static int f;
}
Similarly, the following code produces this diagnostic because the
top-level variable v can't be initialized to null:
int v;
Common fixes
#
If the field or variable can't be initialized to null, then add an
initializer that sets it to a non-null value:
class C {
static int f = 0;
}
If the field or variable should be initialized to null, then change the
type to be nullable:
int? v;
If the field or variable can't be initialized in the declaration but will
always be initialized before it's referenced, then mark it as being late:
class C {
static late int f;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.