{"action":"created","issue":{"url":"https://api.github.com/repos/flycheck/flycheck/issues/1249","repository_url":"https://api.github.com/repos/flycheck/flycheck","labels_url":"https://api.github.com/repos/flycheck/flycheck/issues/1249/labels{/name}","comments_url":"https://api.github.com/repos/flycheck/flycheck/issues/1249/comments","events_url":"https://api.github.com/repos/flycheck/flycheck/issues/1249/events","html_url":"https://github.com/flycheck/flycheck/pull/1249","id":226763857,"number":1249,"title":"Add the ability to group related errors","user":{"login":"fmdkdd","id":340129,"avatar_url":"https://avatars1.githubusercontent.com/u/340129?v=3","gravatar_id":"","url":"https://api.github.com/users/fmdkdd","html_url":"https://github.com/fmdkdd","followers_url":"https://api.github.com/users/fmdkdd/followers","following_url":"https://api.github.com/users/fmdkdd/following{/other_user}","gists_url":"https://api.github.com/users/fmdkdd/gists{/gist_id}","starred_url":"https://api.github.com/users/fmdkdd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmdkdd/subscriptions","organizations_url":"https://api.github.com/users/fmdkdd/orgs","repos_url":"https://api.github.com/users/fmdkdd/repos","events_url":"https://api.github.com/users/fmdkdd/events{/privacy}","received_events_url":"https://api.github.com/users/fmdkdd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-05-06T11:47:55Z","updated_at":"2017-07-06T21:47:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/flycheck/flycheck/pulls/1249","html_url":"https://github.com/flycheck/flycheck/pull/1249","diff_url":"https://github.com/flycheck/flycheck/pull/1249.diff","patch_url":"https://github.com/flycheck/flycheck/pull/1249.patch"},"body":"The use case is mainly for some Rust errors, like lifetime and borrowing errors,\r\nwhere multiple individual errors are actually part of the same \"diagnostic\" for\r\nonly one issue.  Here is an example of rustc output:\r\n\r\n```\r\nerror[E0382]: use of moved value: `x`\r\n --> main.rs:9:7\r\n  |\r\n8 |   let y = x;          // note: x's lifetime ends here\r\n  |       - value moved here\r\n9 |   let z = x;          // error: can no longer move x\r\n  |       ^ value used here after move\r\n  |\r\n  = note: move occurs because `x` has type `NonPOD`, which does not implement the `Copy` trait\r\n```\r\n\r\nIn the JSON output parsed by Flycheck, this one diagnostic corresponds to three\r\nerrors and one note, all of which are turned into individual flycheck-error\r\nobjects.  Consequently, the relationship between these errors is lost, and this\r\ncould confuse users not familiar with these kinds of errors.\r\n\r\nTo preserve the relationship between errors, this commit adds a `group` property\r\nto flycheck-error objects.  Checkers should use the same `group` value for\r\nrelated errors.\r\n\r\nThis commits also adds a function to get related errors,\r\n`flycheck-errors-from-group`.  This allows extensions to display related errors\r\nas they see fit."},"comment":{"url":"https://api.github.com/repos/flycheck/flycheck/issues/comments/313528522","html_url":"https://github.com/flycheck/flycheck/pull/1249#issuecomment-313528522","issue_url":"https://api.github.com/repos/flycheck/flycheck/issues/1249","id":313528522,"user":{"login":"fmdkdd","id":340129,"avatar_url":"https://avatars1.githubusercontent.com/u/340129?v=3","gravatar_id":"","url":"https://api.github.com/users/fmdkdd","html_url":"https://github.com/fmdkdd","followers_url":"https://api.github.com/users/fmdkdd/followers","following_url":"https://api.github.com/users/fmdkdd/following{/other_user}","gists_url":"https://api.github.com/users/fmdkdd/gists{/gist_id}","starred_url":"https://api.github.com/users/fmdkdd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmdkdd/subscriptions","organizations_url":"https://api.github.com/users/fmdkdd/orgs","repos_url":"https://api.github.com/users/fmdkdd/repos","events_url":"https://api.github.com/users/fmdkdd/events{/privacy}","received_events_url":"https://api.github.com/users/fmdkdd/received_events","type":"User","site_admin":false},"created_at":"2017-07-06T21:47:12Z","updated_at":"2017-07-06T21:47:12Z","body":"Also, #1264 revealed there might be a second use-case in `flycheck-flow`, beyond the rust checker."}}
{"actor":{"display_login":"fmdkdd"}}