)]}'
{
  "commit": "032a3157d830f62f02529e7b833e72444e3f5c3c",
  "tree": "bfa4c9d54498cb3510dd06a920f3336125c38fcf",
  "parents": [
    "4e8b7acc44fca89b15c0b540db980d798133a31b"
  ],
  "author": {
    "name": "agrieve",
    "email": "agrieve@google.com",
    "time": "Tue Nov 10 19:25:11 2026"
  },
  "committer": {
    "name": "Error Prone Team",
    "email": "error-prone-team+copybara@google.com",
    "time": "Tue Nov 10 19:26:47 2026"
  },
  "message": "FutureReturnValueIgnored: check the return type before searching super methods\n\nFor every call whose return value is unused, MATCHER checked for\n@CanIgnoreReturnValue on the method, searched all supertypes for\noverridden methods annotated with @CanIgnoreReturnValue, and ran the\nIGNORED_METHODS matchers before checking whether the method returns a\nFuture at all. Most methods don\u0027t, so checking the return type first\navoids computing the supertype closure and scanning member scopes for\nnearly all calls.\n\nThe matcher is a conjunction of predicates that don\u0027t depend on each\nother and have no side effects other than completing symbols, so\nreordering them doesn\u0027t change its result. getSymbol() having returned a\nMethodSymbol is the only precondition the return type check needs, and\nit already handles void, type variables and error types on its own.\n(On an incomplete classpath, non-Future calls no longer complete the\nsupertypes of the method\u0027s owner, while calls exempted by the earlier\npredicates now walk the supertypes of their return type, which\ncheckLostType() already does for the result type of method invocations.)\n\nPiperOrigin-RevId: 1018394858\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad6cd4d1aa51129df7e1284e9a65107721f5c451",
      "old_mode": 33188,
      "old_path": "core/src/main/java/com/google/errorprone/bugpatterns/FutureReturnValueIgnored.java",
      "new_id": "d54362b56de299073e3e28ce3331360d057c0d81",
      "new_mode": 33188,
      "new_path": "core/src/main/java/com/google/errorprone/bugpatterns/FutureReturnValueIgnored.java"
    }
  ]
}
