Dart Analyze logoDart Analyze/
DRT-W1603

Invalid return of value annotated with `doNotStore`DRT-W1603

Major severityMajor
Bug Risk categoryBug Risk

The analyzer produces this diagnostic when a value that is annotated with the doNotStore annotation is returned from a method, getter, or function that doesn't have the same annotation.

Example

The following code produces this diagnostic because the result of invoking f shouldn't be stored, but the function g isn't annotated to preserve that semantic:

import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

int g() => f();

Common fixes

If the value that shouldn't be stored is the correct value to return, then mark the function with the doNotStore annotation:

import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

@doNotStore
int g() => f();

Otherwise, return a different value from the function:

import 'package:meta/meta.dart';

@doNotStore
int f() => 0;

int g() => 0;