Asserts if the given child list contains any duplicate non-null keys.
To invoke this function, use the following pattern, typically in the relevant Widget's constructor:
assert(!debugChildrenHaveDuplicateKeys(this, children));
For a version of this function that can be used in contexts where the list of items does not have a particular parent, see debugItemsHaveDuplicateKeys.
Does nothing if asserts are disabled. Always returns true.
Source
bool debugChildrenHaveDuplicateKeys(Widget parent, Iterable<Widget> children) { assert(() { final Key nonUniqueKey = _firstNonUniqueKey(children); if (nonUniqueKey != null) { throw new FlutterError( 'Duplicate keys found.\n' 'If multiple keyed nodes exist as children of another node, they must have unique keys.\n' '$parent has multiple children with key $nonUniqueKey.' ); } return true; }); return false; }