)]}'
{
  "commit": "f638d06292ae6f34ee537638b114fe893db3719f",
  "tree": "86ca577b8c60591c4614bc6908aa7f3b816b5a54",
  "parents": [
    "ae8a2aac09e8d96f1e9a31df2b0ec16444a6cc1c"
  ],
  "author": {
    "name": "Nicholas Shahan",
    "email": "nshahan@google.com",
    "time": "Tue Jul 20 00:15:34 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Jul 20 00:15:34 2021 +0000"
  },
  "message": "[ddc] Fix generic method constant tearoffs\n\nPreviously all functions objects returned by `dart.gbind()` would\ncontain the same 3 properties: name, length, and runtimeType. For\ntwo distinct functions, if these three properties were the same\nour constant canonicalization would incorrectly canonicalize to the\nsame value. Attaching the original function and the type arguments\nused in instantiation ensures the const canonicalization will treat\ndifferent functions or instantiations as different values.\n\nThese values will also be used for equality checks proposed here:\nhttps://github.com/dart-lang/language/issues/1712\n\nFixes: https://github.com/dart-lang/sdk/issues/46568\nIssue: https://github.com/dart-lang/sdk/issues/46486\nChange-Id: I65111df9af80d878eb3127c5e3dfac1ffba95535\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/206423\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Sigmund Cherem \u003csigmund@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "54576b0fe7c42679f41aa4b9388433827fe83f89",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart",
      "new_id": "33854c7138f5b55005696584f7de76d6c9249c66",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart"
    }
  ]
}
