)]}'
{
  "commit": "ff84166410c7e109ccc030a6584f77cadff037b2",
  "tree": "4561a3169fd4aadf8cec5ecf59e61e81b814565b",
  "parents": [
    "16b436151a34f86376049d880b1bad62fa80f86b"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Tue Apr 12 15:24:22 2022 +0000"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Apr 12 15:24:22 2022 +0000"
  },
  "message": "Ensure that deferred function literals are visited in source order during each type inference stage.\n\nIn theory, the order of resolving function literals during a type\ninference stage shouldn\u0027t matter, because the only effect of visiting\na function literal during type inference is to capture writes, and\ncaptured writes don\u0027t affect flow analysis in other function literals\ndue to the fact that a variable that\u0027s write captured anywhere is\nalready unpromotable in other closures.\n\nHowever, to be on the safe side and to make the resolution process\ndeterministic, it seems better to resolve the function literals in\nsource order during each stage.\n\nSee https://github.com/dart-lang/language/issues/731 (improved\ninference for fold etc.)\n\nChange-Id: Iaecdfbd7e1eb89583a7d744371c40e2b904c7634\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/241020\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Paul Berry \u003cpaulberry@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29ef958cf79519c839f0a9671194fa5a607c171b",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/deferred_function_literal_heuristic.dart",
      "new_id": "7102e1bddae3adf8a13a1055f4b3c1b737ab39ee",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/deferred_function_literal_heuristic.dart"
    },
    {
      "type": "modify",
      "old_id": "b80fbf318cd8caa8a90925030abf1d229f271a32",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/test/deferred_function_literal_heuristic_test.dart",
      "new_id": "ad5434bb983e8e3d346ded4095b41aecf3ae514f",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/test/deferred_function_literal_heuristic_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1d6dbe71916d635f84d0efc6903f9754be2bc1bf",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart",
      "new_id": "1ee215689290c58edd5bfce828351c6f5861c772",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart"
    }
  ]
}
