duplicate_
                  The variable '{0}' is already assigned in this pattern.
Description
#The analyzer produces this diagnostic when a single pattern variable is assigned a value more than once in the same pattern assignment.
Example
#
                    The following code produces this diagnostic because the variable a is
                    assigned twice in the pattern (a, a):
                  
int f((int, int) r) {
  int a;
  (a, a) = r;
  return a;
}
Common fixes
#If you need to capture all of the values, then use a unique variable for each of the subpatterns being matched:
int f((int, int) r) {
  int a, b;
  (a, b) = r;
  return a + b;
}
                    If some of the values don't need to be captured, then use a wildcard
                    pattern _ to avoid having to bind the value to a variable:
                  
int f((int, int) r) {
  int a;
  (_, a) = r;
  return a;
}
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.