ruff/crates
Dhruv Manilawala 60b3ef2c98
[red-knot] Support re-export conventions for stub files (#16073)
This is an alternative implementation to #15848.

## Summary

This PR adds support for re-export conventions for imports for stub
files.

**How does this work?**
* Add a new flag on the `Import` and `ImportFrom` definitions to
indicate whether they're being exported or not
* Add a new enum to indicate whether the symbol lookup is happening
within the same file or is being queried from another file (e.g., an
import statement)
* When a `Symbol` is being queried, we'll skip the definitions that are
(a) coming from a stub file (b) external lookup and (c) check the
re-export flag on the definition

This implementation does not yet support `__all__` and `*` imports as
both are features that needs to be implemented independently.

closes: #14099
closes: #15476 

## Test Plan

Add test cases, update existing ones if required.
2025-02-14 15:17:51 +05:30
..
red_knot ruff_db: add a vector for configuring diagnostic output (#16118) 2025-02-12 14:38:05 +00:00
red_knot_project [red-knot] Fallback to requires-python if no python-version is specified (#16028) 2025-02-12 11:47:59 +00:00
red_knot_python_semantic [red-knot] Support re-export conventions for stub files (#16073) 2025-02-14 15:17:51 +05:30
red_knot_server add diagnostic Span (couples File and TextRange) (#16101) 2025-02-11 14:55:12 -05:00
red_knot_test ruff_db: add a vector for configuring diagnostic output (#16118) 2025-02-12 14:38:05 +00:00
red_knot_vendored Sync vendored typeshed stubs (#15864) 2025-02-01 01:01:58 +00:00
red_knot_wasm ruff_db: add a vector for configuring diagnostic output (#16118) 2025-02-12 14:38:05 +00:00
ruff Bump version to 0.9.6 (#16074) 2025-02-10 18:14:04 +05:30
ruff_annotate_snippets Fix docstring in ruff_annotate_snippets (#15748) 2025-01-26 22:25:29 -05:00
ruff_benchmark add diagnostic Span (couples File and TextRange) (#16101) 2025-02-11 14:55:12 -05:00
ruff_cache
ruff_db ruff_db: add a vector for configuring diagnostic output (#16118) 2025-02-12 14:38:05 +00:00
ruff_dev Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_diagnostics
ruff_formatter Upgrade Rust toolchain to 1.84.0 (#15408) 2025-01-11 09:51:58 +01:00
ruff_graph [red-knot] Resolve Options to Settings (#16000) 2025-02-10 15:28:45 +01:00
ruff_index Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
ruff_linter [pyupgrade] Unwrap unary expressions correctly (UP018) (#15919) 2025-02-14 08:42:00 +01:00
ruff_macros Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_notebook Update Rust crate rand to 0.9.0 (#15899) 2025-02-03 12:25:57 +01:00
ruff_python_ast Replace is-macro with implementation in enums (#16144) 2025-02-13 22:49:00 +00:00
ruff_python_ast_integration_tests
ruff_python_codegen Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
ruff_python_formatter Workaround Even Better TOML crash related to allOf (#15992) 2025-02-06 16:00:50 +01: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 [pylint] Do not offer fix for raw strings (PLE251) (#16132) 2025-02-13 08:36:11 +00:00
ruff_python_resolver
ruff_python_semantic [pylint] Also report when the object isn't a literal (PLE1310) (#15985) 2025-02-10 09:31:27 +01: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] Hand-written MDTest parser (#15926) 2025-02-04 14:01:53 +01:00
ruff_python_trivia_integration_tests
ruff_server Root exclusions in the server to project root (#16043) 2025-02-10 04:57:14 +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 version to 0.9.6 (#16074) 2025-02-10 18:14:04 +05:30
ruff_workspace [flake8-builtins] Update documentation (A005) (#16097) 2025-02-12 12:50:13 -05:00