== Why is this an issue? In Dart, there's no concept of "uninitialized memory". Everything must be initialized before use, otherwise a compile-time error is reported. In case of non-nullable type, it has to be explicitly initialized before use, and it can't be initialized with `null`. This is guaranteed by compiler. In case of non-nullable variable, it will be set to `null` implicitly. In both cases there is no need to initialize a variable with `null`. === Exceptions In case of `final` and `const` variables or members, they have to be initialized explicitly, so using `null` there won't trigger this rule. [source,dart] ---- const int? x = null; ---- === Noncompliant code example [source,dart] ---- void f() { int? x = null; g(x); } ---- === Compliant solution [source,dart] ---- void f() { int? x; g(x); } ---- == Resources === Documentation * Dart Docs - https://dart.dev/tools/linter-rules/avoid_init_to_null[Dart Linter rule - avoid_init_to_null] * Dart Docs - https://dart.dev/language/variables#default-values[Dart language - default values] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Redundant initialization to 'null'. === Highlighting The entire initialization expression, including the identifier and the assigned value, but excluding the type: e.g. `i1 = null` in `int? i1 = null`. ''' == Comments And Links (visible only on this page) endif::env-github,rspecator-view[]