ruff/crates
Micha Reiser 067c6de465
Change `EnvironmentOptions::venv-path` to `Option<SystemPathBuf>` (#15631)
## Summary

The `Options` struct is intended to capture the user's configuration
options but
`EnvironmentOptions::venv_path` supports both a `SitePackages::Known`
and `SitePackages::Derived`.

Users should only be able to provide `SitePackages::Derived`—they
specify a path to a venv, and Red Knot derives the path to the
site-packages directory. We'll only use the `Known` variant once we
automatically discover the Python installation.

That's why this PR changes `EnvironmentOptions::venv_path` from
`Option<SitePackages>` to `Option<SystemPathBuf>`.

This requires making some changes to the file watcher test, and I
decided to use `extra_paths` over venv path
because our venv validation is annoyingly correct -- making mocking a
venv rather involved.

## Test Plan

`cargo test`
2025-01-21 14:10:41 +00:00
..
red_knot Change `EnvironmentOptions::venv-path` to `Option<SystemPathBuf>` (#15631) 2025-01-21 14:10:41 +00:00
red_knot_project Change `EnvironmentOptions::venv-path` to `Option<SystemPathBuf>` (#15631) 2025-01-21 14:10:41 +00:00
red_knot_python_semantic Change `EnvironmentOptions::venv-path` to `Option<SystemPathBuf>` (#15631) 2025-01-21 14:10:41 +00:00
red_knot_server Flatten `red_knot_project` import paths (#15616) 2025-01-20 14:57:57 +01:00
red_knot_test [red-knot] Markdown test runner (#15632) 2025-01-21 14:06:35 +01:00
red_knot_vendored [red-knot] Migrate `is_gradual_equivalent_to` unit tests to Markdown tests (#15563) 2025-01-17 16:48:01 -08:00
red_knot_wasm Flatten `red_knot_project` import paths (#15616) 2025-01-20 14:57:57 +01:00
ruff show-settings: Properly filter out backslashes on windows (#15612) 2025-01-20 10:57:21 +01:00
ruff_annotate_snippets ruff_annotate_snippets: support overriding the "cut indicator" 2025-01-15 13:37:52 -05:00
ruff_benchmark Flatten `red_knot_project` import paths (#15616) 2025-01-20 14:57:57 +01:00
ruff_cache Fix cache key collisions for paths with separators (#12159) 2024-07-03 07:36:46 -05:00
ruff_db Remove workspace support (#15472) 2025-01-15 09:03:38 +01:00
ruff_dev Alternate quotes for strings inside f-strings in preview (#13860) 2024-10-23 07:57:53 +02:00
ruff_diagnostics Show errors for attempted fixes only when passed `--verbose` (#15237) 2025-01-03 08:50:13 -06:00
ruff_formatter Upgrade Rust toolchain to 1.84.0 (#15408) 2025-01-11 09:51:58 +01:00
ruff_graph Add support for configuring knot in `pyproject.toml` files (#15493) 2025-01-17 09:41:06 +01:00
ruff_index [red-knot] small efficiency improvements and bugfixes to use-def map building (#12373) 2024-07-18 09:24:58 -07:00
ruff_linter [`flake8-type-checking`] Fix some safe fixes being labeled unsafe (#15638) 2025-01-21 15:08:46 +01:00
ruff_macros Flatten `red_knot_project` import paths (#15616) 2025-01-20 14:57:57 +01:00
ruff_notebook Bump MSRV to Rust 1.80 (#13826) 2024-10-20 10:55:36 +02:00
ruff_python_ast Standardise ruff config (#15558) 2025-01-21 12:09:11 +01:00
ruff_python_ast_integration_tests Update insta snapshots (#14366) 2024-11-15 19:31:15 +01:00
ruff_python_codegen ruff_python_ast: Make `Singleton` `Copy` (#14943) 2024-12-12 20:49:54 +01:00
ruff_python_formatter Standardise ruff config (#15558) 2025-01-21 12:09:11 +01:00
ruff_python_index Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00
ruff_python_literal Upgrade Rust toolchain to 1.83 (#14677) 2024-11-29 12:05:05 +00:00
ruff_python_parser Parse triple quoted string annotations as if parenthesized (#15387) 2025-01-16 11:38:15 +05:30
ruff_python_resolver Update insta snapshots (#14366) 2024-11-15 19:31:15 +01:00
ruff_python_semantic [`pylint`] Include name of base class in message for `redefined-slots-in-subclass` (`W0244`) (#15559) 2025-01-18 09:50:27 -06: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 `type: ignore[codes]` and `knot: ignore` (#15078) 2024-12-23 10:52:43 +01:00
ruff_python_trivia_integration_tests Update insta snapshots (#14366) 2024-11-15 19:31:15 +01:00
ruff_server Avoid indexing the same workspace multiple times (#15495) 2025-01-15 18:58:28 +05:30
ruff_source_file [`pyupgrade`] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (`UP009`) (#14728) 2024-12-11 10:30:41 +00:00
ruff_text_size [`ruff`] `itertools.starmap(..., zip(...))` (`RUF058`) (#15483) 2025-01-16 15:18:12 +01:00
ruff_wasm Bump version to 0.9.2 (#15529) 2025-01-16 13:07:26 +00:00
ruff_workspace [`pydoclint`] Allow ignoring one line docstrings for `DOC` rules (#13302) 2025-01-16 16:05:10 -06:00