ruff/crates
Douglas Creager 130d4e1135
[ty] Don't panic with argument that doesn't actually implement Iterable (#19602)
This eliminates the panic reported in
https://github.com/astral-sh/ty/issues/909, though it doesn't address
the underlying cause, which is that we aren't yet checking the types of
the fields of a protocol when checking whether a class implements the
protocol. And in particular, if a class explictly opts out of iteration
via

```py
class NotIterable:
    __iter__ = None
```

we currently treat that as "having an `__iter__`" member, and therefore
implementing `Iterable`.

Note that the assumption that was in the comment before is still
correct: call binding will have already checked that the argument
satisfies `Iterable`, and so it shouldn't be an error to iterate over
said argument. But arguably, the new logic in this PR is a better way to
discharge that assumption — instead of panicking if we happen to be
wrong, fall back on an unknown iteration result.
2025-07-28 12:09:54 -04:00
..
ruff Add `TextEmitter::with_color` and disable colors in `unreadable_files` test (#19562) 2025-07-25 15:47:49 -04:00
ruff_annotate_snippets Update Rust toolchain to 1.88 and MSRV to 1.86 (#19011) 2025-06-28 20:24:00 +02:00
ruff_benchmark [ty] Add support for `@warnings.deprecated` (#19376) 2025-07-18 23:50:29 +00:00
ruff_cache Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_db Move concise diagnostic rendering to `ruff_db` (#19398) 2025-07-23 11:43:32 -04:00
ruff_dev Auto-generate environment variable references for ty (#19205) 2025-07-08 10:48:31 -04:00
ruff_diagnostics Combine `OldDiagnostic` and `Diagnostic` (#19053) 2025-07-03 13:01:09 -04:00
ruff_formatter Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_graph Add support for specifying minimum dots in detected string imports (#19538) 2025-07-24 15:48:23 -04:00
ruff_index Update Rust toolchain to 1.88 and MSRV to 1.86 (#19011) 2025-06-28 20:24:00 +02:00
ruff_linter [`flake8-commas`] Add support for trailing comma checks in type parameter lists (`COM812`,`COM819`) (#19390) 2025-07-28 10:53:04 -04:00
ruff_macros [ty] Merge `ty_macros` into `ruff_macros` (#19229) 2025-07-09 11:28:21 +00:00
ruff_notebook Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_options_metadata [ty] Document configuration schema (#17950) 2025-05-09 10:47:45 +02:00
ruff_python_ast Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
ruff_python_ast_integration_tests Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
ruff_python_codegen Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
ruff_python_formatter Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
ruff_python_index Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_python_literal Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_python_parser Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
ruff_python_semantic [ty] Make `Module` a Salsa ingredient 2025-07-23 09:46:40 -04:00
ruff_python_stdlib Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_python_trivia Treat `ty: ` comments as pragma comments (#18532) 2025-06-07 16:02:43 +02:00
ruff_python_trivia_integration_tests Switch to Rust 2024 edition (#18129) 2025-05-16 13:25:28 +02:00
ruff_server Move fix suggestion to subdiagnostic (#19464) 2025-07-22 10:03:58 -04:00
ruff_source_file Move Pylint rendering to `ruff_db` (#19340) 2025-07-15 10:14:49 -04:00
ruff_text_size [ty] Add environment variable to dump Salsa memory usage stats (#18928) 2025-06-26 21:27:51 +00:00
ruff_wasm Bump 0.12.5 (#19528) 2025-07-24 09:12:50 -04:00
ruff_workspace Add support for specifying minimum dots in detected string imports (#19538) 2025-07-24 15:48:23 -04:00
ty Move concise diagnostic rendering to `ruff_db` (#19398) 2025-07-23 11:43:32 -04:00
ty_ide [ty] Implemented support for "selection range" language server feature (#19567) 2025-07-26 09:08:36 -07:00
ty_project [ty] Invert `ty_ide` and `ty_project` dependency (#19501) 2025-07-23 07:37:46 +00:00
ty_python_semantic [ty] Don't panic with argument that doesn't actually implement Iterable (#19602) 2025-07-28 12:09:54 -04:00
ty_server [ty] Remove `AssertUnwindSafe` from `BackgroundRequestHandler` api (#19598) 2025-07-28 13:28:09 +00:00
ty_static [ty] Merge `ty_macros` into `ruff_macros` (#19229) 2025-07-09 11:28:21 +00:00
ty_test [ty] Track open files in the server (#19264) 2025-07-18 19:33:35 +05:30
ty_vendored [ty] Sync vendored typeshed stubs (#19461) 2025-07-21 14:01:42 +01:00
ty_wasm [ty] Support stdlib files in playground (#19557) 2025-07-26 19:33:38 +01:00