ruff/crates
Dylan aa93005d8d
Control flow graph: setup (#17064)
This PR contains the scaffolding for a new control flow graph
implementation, along with its application to the `unreachable` rule. At
the moment, the implementation is a maximal over-approximation: no
control flow is modeled and all statements are counted as reachable.
With each additional statement type we support, this approximation will
improve.

So this PR just contains:
- A `ControlFlowGraph` struct and builder
- Support for printing the flow graph as a Mermaid graph
- Snapshot tests for the actual graphs
- (a very bad!) reimplementation of `unreachable` using the new structs
- Snapshot tests for `unreachable`

# Instructions for Viewing Mermaid snapshots
Unfortunately I don't know how to convince GitHub to render the Mermaid
graphs in the snapshots. However, you can view these locally in VSCode
if you install an extension that supports Mermaid graphs in Markdown,
and then add this to your `settings.json`:

```json
  "files.associations": {
"*.md.snap": "markdown",
  }
  ```
2025-04-01 05:53:42 -05:00
..
red_knot [red-knot] Use web-time instead of FileTime::now (#16967) 2025-03-25 13:03:30 +00:00
red_knot_ide [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_project [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_python_semantic [red-knot] Add redundant-cast error (#17100) 2025-04-01 00:37:25 +00:00
red_knot_server [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_test [red-knot] Add line number to mdtest panic message about language tag mismatch (#16906) 2025-03-22 13:05:31 +01:00
red_knot_vendored [red-knot] Allow CallableTypeFromFunction to display the signatures of callable types that are not function literals (#17047) 2025-03-28 20:23:04 +00:00
red_knot_wasm [red-knot] Playground improvements (#17109) 2025-04-01 10:04:51 +02:00
ruff Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_annotate_snippets Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_benchmark [red-knot] Add initial support for * imports (#16923) 2025-03-24 17:15:58 +00:00
ruff_cache
ruff_db [red-knot] Use web-time instead of FileTime::now (#16967) 2025-03-25 13:03:30 +00:00
ruff_dev Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_diagnostics Show errors for attempted fixes only when passed --verbose (#15237) 2025-01-03 08:50:13 -06:00
ruff_formatter Fixing more spelling errors (#16926) 2025-03-23 10:55:14 -07:00
ruff_graph Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_index [red-knot] Don't use separate ID types for each alist (#16415) 2025-02-28 14:55:55 -05:00
ruff_linter Control flow graph: setup (#17064) 2025-04-01 05:53:42 -05:00
ruff_macros Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_notebook bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast Add as_group methods to AnyNodeRef (#17048) 2025-03-28 19:42:45 +00:00
ruff_python_ast_integration_tests Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_codegen Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_formatter Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_index
ruff_python_literal Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
ruff_python_parser Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_resolver Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_semantic Control flow graph: setup (#17064) 2025-04-01 05:53:42 -05:00
ruff_python_stdlib Revert "Add all PEP-585 names to UP006 rule" (#15250) 2025-01-04 12:23:53 +01:00
ruff_python_trivia [red-knot] Ignore surrounding whitespace when looking for <!-- snapshot-diagnostics --> directives in mdtests (#16380) 2025-02-27 13:25:31 +00:00
ruff_python_trivia_integration_tests Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_server Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_source_file
ruff_text_size [ruff] itertools.starmap(..., zip(...)) (RUF058) (#15483) 2025-01-16 15:18:12 +01:00
ruff_wasm Bump 0.11.2 (#16896) 2025-03-21 09:17:07 -04:00
ruff_workspace Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00