debugItemsHaveDuplicateKeys function Null safety

bool debugItemsHaveDuplicateKeys(
  1. Iterable<Widget> items

Asserts if the given list of items contains any duplicate non-null keys.

To invoke this function, use the following pattern:


For a version of this function specifically intended for parents checking their children lists, see debugChildrenHaveDuplicateKeys.

Does nothing if asserts are disabled. Always returns false.


bool debugItemsHaveDuplicateKeys(Iterable<Widget> items) {
  assert(() {
    final Key? nonUniqueKey = _firstNonUniqueKey(items);
    if (nonUniqueKey != null) {
      throw FlutterError('Duplicate key found: $nonUniqueKey.');
    return true;
  return false;