)]}'
{
  "commit": "d872cf8c8fca51b69a3d69241fce9a0e2f9192d9",
  "tree": "b17131e58c008a8dbfa61d7f695f41ba94269537",
  "parents": [
    "c98c6e37a2336aace4ed7e0e4b3315faa8a14405"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Tue Oct 01 17:05:31 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 01 17:05:31 2024 -0700"
  },
  "message": "Special case maps with only value keys (#2257)\n\nCloses #2256\r\n\r\nWhen checking deep equality on Map instances (including maps nested in\r\nother collection types) we allow keys which are instances of other\r\ncollection (and don\u0027t have a useful `operator \u003d\u003d`) and keys which are\r\n`Condition` callbacks that could potentially match multiple keys of the\r\nactual value. This is maximally flexible, but it loses the nested path\r\ninformation we are otherwise able to keep for iterables compared by\r\nindex.\r\n\r\nCheck whether expectation maps have any keys which need this special\r\ntreatment, and if not, special case to an algorithm close to the\r\n`Iterable` algorithm which can enqueue nested checks and maintain the\r\ndirect known path into the collection.\r\n\r\nUpdate the doc comment to describe the new behavior. This does\r\npotentially introduce confusion since a change which adds a `Condition`\r\nkey has to potential to make _other_ keys in the same expectation\r\nbehaved differently. The benefit is a more actionable failure output for\r\nthe much more common case of checking expectations with hardcoded keys.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "726d51c041db086af22c844dd5c173eb1e207c2c",
      "old_mode": 33188,
      "old_path": "pkgs/checks/CHANGELOG.md",
      "new_id": "e52a3cb1b668488e7585e44b481849a49014f401",
      "new_mode": 33188,
      "new_path": "pkgs/checks/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "93281270c3c7958621cdd97c73bf8c5b98efe736",
      "old_mode": 33188,
      "old_path": "pkgs/checks/lib/src/collection_equality.dart",
      "new_id": "da6064a523d285e43f6f1af8f66eddadc3b9f331",
      "new_mode": 33188,
      "new_path": "pkgs/checks/lib/src/collection_equality.dart"
    },
    {
      "type": "modify",
      "old_id": "516357bbc0fb7cdf854707e16dccb88247c9b035",
      "old_mode": 33188,
      "old_path": "pkgs/checks/test/extensions/collection_equality_test.dart",
      "new_id": "28a10dd980b0b254b8b74a7f8546974b5e07a150",
      "new_mode": 33188,
      "new_path": "pkgs/checks/test/extensions/collection_equality_test.dart"
    }
  ]
}
