)]}'
{
  "commit": "928e97da4e1a362dbc85e1afccee90756fb0d293",
  "tree": "e5d7255e01cc15beb2e4c5fb07a19f7a213ee0d8",
  "parents": [
    "47c4d633ee872c4217ff1ca8c42c92db639e44e5"
  ],
  "author": {
    "name": "Ömer Sinan Ağacan",
    "email": "omersa@google.com",
    "time": "Thu Jun 20 18:01:57 2024 +0000"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Thu Jun 20 11:03:58 2024 -0700"
  },
  "message": "[tests] Add int.tryParse overflow check tests\n\nSee the comments before tests for details.\n\nThe test cases are generated with this Rust program:\n\n```\nuse num::*;\n\nfn main() {\n    // 10111...., 65 bits\n    let lo: u64 \u003d (1 \u003c\u003c 63) - 1;\n    let mut err_pattern: BigUint \u003d BigUint::from(lo);\n    err_pattern.set_bit(64, true);\n\n    // In the error case, the bit after the sign bit should be set (this bit will be lost), and\n    // sign bit should be unset (so that overflow won\u0027t make the result negative).\n    assert!(err_pattern.bit(64));\n    assert!(!err_pattern.bit(63));\n\n    // For each radix, find the number and digit where\n    // `\u003cerror\u003e \u003d (\u003cold number\u003e * \u003cradix\u003e) + \u003cdigit\u003e`.\n    \u0027radix_loop: for radix in 4..\u003d36u32 {\n        for digit in 0..radix {\n            let i: BigUint \u003d (err_pattern.clone() - BigUint::from(digit)) / BigUint::from(radix);\n            if !i.bit(64) \u0026\u0026 !i.bit(63) {\n                println!(\n                    \"{}: {} + {} ({} + {})\",\n                    radix,\n                    i.to_str_radix(radix),\n\n                    BigUint::from(digit).to_str_radix(radix),\n                    i,\n                    digit,\n                );\n                continue \u0027radix_loop;\n            }\n        }\n    }\n}\n```\nChange-Id: I6fe92c46b31373f465702744ee069394db949b60\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/372422\nCommit-Queue: Ömer Ağacan \u003comersa@google.com\u003e\nReviewed-by: Lasse Nielsen \u003clrn@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/acd82f974b8d5a1ca9def0c308dd5d349b704332\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "448aabedda3fe19348f8d5ab354a65c0e460cdce",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "7aa7a488278771255f00e62e6b2fc227b9b43f2e",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "94a2a2b1eaac0c9e267a39d9b4646c9008dfdb29",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "459a95601d6522fcb25dd5cb57148163298a635f",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
