{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":523043277,"defaultBranch":"main","name":"ruff","ownerLogin":"astral-sh","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-08-09T17:17:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/115962839?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717284072.0","currentOid":""},"activityList":{"items":[{"before":"d3105b8e0f3460b4e1d34a8e245b86739c786793","after":null,"ref":"refs/heads/charlie/inv","pushedAt":"2024-06-01T23:21:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"}},{"before":"fd9d68051e9b539cf583ba0b7b8861f37007c766","after":"b36dd1aa51350356acfa87c850b76b8b5a743a60","ref":"refs/heads/main","pushedAt":"2024-06-01T23:21:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"[`flake8-simplify`] Simplify double negatives in `SIM103` (#11684)\n\n## Summary\r\n\r\nCloses: https://github.com/astral-sh/ruff/issues/11685.","shortMessageHtmlLink":"[flake8-simplify] Simplify double negatives in SIM103 (#11684)"}},{"before":"6a819f24b176aca5d42f174aab2ac8f9c07d9730","after":"d3105b8e0f3460b4e1d34a8e245b86739c786793","ref":"refs/heads/charlie/inv","pushedAt":"2024-06-01T23:16:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Avoid double negative in SIM103","shortMessageHtmlLink":"Avoid double negative in SIM103"}},{"before":null,"after":"6a819f24b176aca5d42f174aab2ac8f9c07d9730","ref":"refs/heads/charlie/inv","pushedAt":"2024-06-01T23:13:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Avoid double negative in SIM103","shortMessageHtmlLink":"Avoid double negative in SIM103"}},{"before":"93c532a7e043170a7806bafe1daa3c79c2276e17","after":null,"ref":"refs/heads/charliermarsh-patch-1","pushedAt":"2024-06-01T18:08:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"}},{"before":"99834ee93d4c5476d928fd6864950dcd38e96f77","after":"fd9d68051e9b539cf583ba0b7b8861f37007c766","ref":"refs/heads/main","pushedAt":"2024-06-01T18:08:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md (#11683)","shortMessageHtmlLink":"Update CHANGELOG.md (#11683)"}},{"before":null,"after":"93c532a7e043170a7806bafe1daa3c79c2276e17","ref":"refs/heads/charliermarsh-patch-1","pushedAt":"2024-06-01T18:05:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"a482cc3fbd8ece22516deb9ae6a824a75b977a57","after":"0ae8b6358535d1266adcd8ce3723f63a3851efa3","ref":"refs/heads/red-knot-salsa","pushedAt":"2024-06-01T13:34:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MichaReiser","name":"Micha Reiser","path":"/MichaReiser","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1203881?s=80&v=4"},"commit":{"message":"Make `SyntaxCheck` and `PhysicalLineCheck` non-tracked structs\n\ntracked-structs are only necessary when the struct should be used as an\nargument to a derived Salsa query. I don't expect that the lint results itself\nshould be used as queries, therefore, normal structs do just fine.","shortMessageHtmlLink":"Make SyntaxCheck and PhysicalLineCheck non-tracked structs"}},{"before":"4e2ec9f710152be1b1ae6de6c20c010b38283e60","after":"a482cc3fbd8ece22516deb9ae6a824a75b977a57","ref":"refs/heads/red-knot-salsa","pushedAt":"2024-06-01T13:07:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MichaReiser","name":"Micha Reiser","path":"/MichaReiser","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1203881?s=80&v=4"},"commit":{"message":"Make `ResolvedModule` a non-salsa tracked structk\n\nA query result only needs to be a tracked struct if we intend to use it as a query ingredient.\nIt's unclear to me whether this is the case for `ResolvedModule`, that's why I make it a regular\nstruct for now. We can easily make it a tracked struct later on.","shortMessageHtmlLink":"Make ResolvedModule a non-salsa tracked structk"}},{"before":"982ceb4d2a3d37511cb8d6b916d51dddc65843c7","after":"f4f55e6f1f5d216da3b84feb6dac076f21c643a5","ref":"refs/heads/redknot.internsymbolnames","pushedAt":"2024-06-01T06:38:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"plredmond","name":null,"path":"/plredmond","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51248199?s=80&v=4"},"commit":{"message":"intern names in the symbol table","shortMessageHtmlLink":"intern names in the symbol table"}},{"before":null,"after":"982ceb4d2a3d37511cb8d6b916d51dddc65843c7","ref":"refs/heads/redknot.internsymbolnames","pushedAt":"2024-06-01T06:25:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"plredmond","name":null,"path":"/plredmond","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51248199?s=80&v=4"},"commit":{"message":"intern names in the symbol table","shortMessageHtmlLink":"intern names in the symbol table"}},{"before":"ebb67bf0a09511b9b87e522fb7d08d597f5f8fb5","after":"ac934bb2de3c7fe7e4d2110cc978894dfeb4f573","ref":"refs/heads/cjm/cfg4","pushedAt":"2024-06-01T04:31:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"FlowGraph doesn't need to be pub(crate)","shortMessageHtmlLink":"FlowGraph doesn't need to be pub(crate)"}},{"before":"07ab4cd10267e45fdb36ab0fd2f12f843e283626","after":"ebb67bf0a09511b9b87e522fb7d08d597f5f8fb5","ref":"refs/heads/cjm/cfg4","pushedAt":"2024-06-01T04:27:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"remove redundant Branch node","shortMessageHtmlLink":"remove redundant Branch node"}},{"before":"bf59a4ba297e2576351d65c88961d8157a18f3ed","after":null,"ref":"refs/heads/typeshedbot/sync-typeshed","pushedAt":"2024-06-01T04:26:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"}},{"before":"b80bf22c4d34d3bb1a68d8a44bddc566d2bde4c4","after":"99834ee93d4c5476d928fd6864950dcd38e96f77","ref":"refs/heads/main","pushedAt":"2024-06-01T04:26:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"Sync vendored typeshed stubs (#11668)\n\nClose and reopen this PR to trigger CI\r\n\r\nCo-authored-by: typeshedbot <>","shortMessageHtmlLink":"Sync vendored typeshed stubs (#11668)"}},{"before":"9f494eebf8ea130eff564e61cfc21ff9954225d8","after":"07ab4cd10267e45fdb36ab0fd2f12f843e283626","ref":"refs/heads/cjm/cfg4","pushedAt":"2024-06-01T04:06:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"improve tests","shortMessageHtmlLink":"improve tests"}},{"before":null,"after":"9f494eebf8ea130eff564e61cfc21ff9954225d8","ref":"refs/heads/cjm/cfg4","pushedAt":"2024-06-01T03:59:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"[red-knot] add if-statement support to FlowGraph","shortMessageHtmlLink":"[red-knot] add if-statement support to FlowGraph"}},{"before":"76c566fb894a77e6423e7eb245959a7b82d7e767","after":"89452b9d1a8f19fdc4274f190b6d5d366fa3471a","ref":"refs/heads/cjm/cfg3","pushedAt":"2024-06-01T02:23:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"use textwrap::dedent","shortMessageHtmlLink":"use textwrap::dedent"}},{"before":"ad223c7a8bad07c65ce36ae5c2a518c1a2ecde12","after":"76c566fb894a77e6423e7eb245959a7b82d7e767","ref":"refs/heads/cjm/cfg3","pushedAt":"2024-06-01T02:14:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"also extract write_to_path","shortMessageHtmlLink":"also extract write_to_path"}},{"before":"55d742864f5618113f68a1dacb2c205e040331d1","after":"ad223c7a8bad07c65ce36ae5c2a518c1a2ecde12","ref":"refs/heads/cjm/cfg3","pushedAt":"2024-06-01T02:06:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"remove need for db = case.db in each test","shortMessageHtmlLink":"remove need for db = case.db in each test"}},{"before":null,"after":"55d742864f5618113f68a1dacb2c205e040331d1","ref":"refs/heads/cjm/cfg3","pushedAt":"2024-06-01T02:00:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"[red-knot] extract helper functions in inference tests","shortMessageHtmlLink":"[red-knot] extract helper functions in inference tests"}},{"before":null,"after":"a72293e550496af3418f14f1fe24b6d4e2cc10cf","ref":"refs/heads/cjm/cfg2","pushedAt":"2024-06-01T01:57:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"[red-knot] use reachable definitions in infer_expression_type","shortMessageHtmlLink":"[red-knot] use reachable definitions in infer_expression_type"}},{"before":null,"after":"18a64d88acf27a1b603d228cea4497e0e264683f","ref":"refs/heads/cjm/cfg1","pushedAt":"2024-06-01T01:54:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carljm","name":"Carl Meyer","path":"/carljm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61586?s=80&v=4"},"commit":{"message":"add TODO comment about union-of-all-defs","shortMessageHtmlLink":"add TODO comment about union-of-all-defs"}},{"before":null,"after":"bf59a4ba297e2576351d65c88961d8157a18f3ed","ref":"refs/heads/typeshedbot/sync-typeshed","pushedAt":"2024-06-01T00:23:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Sync typeshed. Source commit: https://github.com/python/typeshed/commit/4b6558c12ac43cd40716cd6452fe98a632ae65d7","shortMessageHtmlLink":"Sync typeshed. Source commit: python/typeshed@4b6558c"}},{"before":"ccacf478020f7713a20a23210633e602cdd48053","after":null,"ref":"refs/heads/charlie/red","pushedAt":"2024-05-31T23:18:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"}},{"before":"312f6640b837eb1189748980707cfed70d1f5ffb","after":"b80bf22c4d34d3bb1a68d8a44bddc566d2bde4c4","ref":"refs/heads/main","pushedAt":"2024-05-31T23:18:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Omit `red-knot` PRs from the changelog (#11666)\n\n## Summary\r\n\r\nThis just ensures that PRs labelled with `red-knot` are automatically\r\nfiltered out from the auto-generated changelog (which we then manually\r\nfinalize anyway).","shortMessageHtmlLink":"Omit red-knot PRs from the changelog (#11666)"}},{"before":null,"after":"ccacf478020f7713a20a23210633e602cdd48053","ref":"refs/heads/charlie/red","pushedAt":"2024-05-31T23:13:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Omit red-knot PRs from the changelog","shortMessageHtmlLink":"Omit red-knot PRs from the changelog"}},{"before":"91a5fdee7a80a7a83827eb7a651bce9b3226bfe8","after":"312f6640b837eb1189748980707cfed70d1f5ffb","ref":"refs/heads/main","pushedAt":"2024-05-31T21:48:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"[`flake8-bugbear`] Implement `return-in-generator` (`B901`) (#11644)\n\n## Summary\r\n\r\nThis PR implements the rule B901, which is part of the opinionated rules\r\nof `flake8-bugbear`.\r\n\r\nThis rule seems to be desired in `ruff` as per\r\nhttps://github.com/astral-sh/ruff/issues/3758 and\r\nhttps://github.com/astral-sh/ruff/issues/2954#issuecomment-1441162976.\r\n\r\n## Test Plan\r\n\r\nAs this PR was made closely following the\r\n[CONTRIBUTING.md](https://github.com/astral-sh/ruff/blob/8a25531a7144fd4a6b62c54efde1ef28e2dc18c4/CONTRIBUTING.md),\r\nit tests using the snapshot approach, that is described there.\r\n\r\n## Sources\r\n\r\nThe implementation is inspired by [the original implementation in the\r\n`flake8-bugbear`\r\nrepository](https://github.com/PyCQA/flake8-bugbear/blob/d1aec4cbef7c4a49147c428b7e4a97e497b5d163/bugbear.py#L1092).\r\nThe error message and [test\r\nfile](https://github.com/PyCQA/flake8-bugbear/blob/d1aec4cbef7c4a49147c428b7e4a97e497b5d163/tests/b901.py)\r\nwhere also copied from there.\r\n\r\nThe documentation I came up with on my own and needs improvement. Maybe\r\nthe example given in\r\nhttps://github.com/astral-sh/ruff/issues/2954#issuecomment-1441162976\r\ncould be used, but maybe they are too complex, I'm not sure.\r\n\r\n## Open Questions\r\n\r\n- [ ] Documentation. (See above.)\r\n\r\n- [x] Can I access the parent in a visitor?\r\n\r\nThe [original\r\nimplementation](https://github.com/PyCQA/flake8-bugbear/blob/d1aec4cbef7c4a49147c428b7e4a97e497b5d163/bugbear.py#L1100)\r\nreferences the `yield` statement's parent to check if it is an\r\nexpression statement. I didn't find a way to do this in `ruff` and used\r\nthe `is_expresssion_statement` field on the visitor instead. What are\r\nyour thoughts on this? Is it possible and / or desired to access the\r\nparent node here?\r\n\r\n- [x] Is `Option::is_some(...)` -> `...unwrap()` the right thing to do?\r\n\r\nReferring to [this piece of\r\ncode](https://github.com/tobb10001/ruff/blob/9d5a280f71103ef33df5676d00a6c68c601261ac/crates/ruff_linter/src/rules/flake8_bugbear/rules/return_x_in_generator.rs?plain=1#L91-L96).\r\nFrom my understanding, the `.unwrap()` is safe, because it is checked\r\nthat `return_` is not `None`. However, I feel like I missed a more\r\nelegant solution that does both in one.\r\n\r\n## Other\r\n\r\nI don't know a lot about this rule, I just implemented it because I\r\nfound it in a\r\nhttps://github.com/astral-sh/ruff/labels/good%20first%20issue.\r\n\r\nI'm new to Rust, so any constructive critisism is appreciated.\r\n\r\n---------\r\n\r\nCo-authored-by: Charlie Marsh ","shortMessageHtmlLink":"[flake8-bugbear] Implement return-in-generator (B901) (#11644)"}},{"before":"e74101affaefe9c9e05c082c1ec8e3a09bcff3d0","after":null,"ref":"refs/heads/charlie/p","pushedAt":"2024-05-31T20:35:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"}},{"before":"1ad5f9c0382f5fa8ed4f38c972a3799be89a7172","after":"91a5fdee7a80a7a83827eb7a651bce9b3226bfe8","ref":"refs/heads/main","pushedAt":"2024-05-31T20:35:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charliermarsh","name":"Charlie Marsh","path":"/charliermarsh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1309177?s=80&v=4"},"commit":{"message":"Use find in indent detection (#11650)","shortMessageHtmlLink":"Use find in indent detection (#11650)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWe6bQAA","startCursor":null,"endCursor":null}},"title":"Activity ยท astral-sh/ruff"}