ruff/crates/red_knot_python_semantic
Carl Meyer dcfebaa4a8
[red-knot] use declared types in inference/checking (#13335)
Use declared types in inference and checking. This means several things:

* Imports prefer declarations over inference, when declarations are
available.
* When we encounter a binding, we check that the bound value's inferred
type is assignable to the live declarations of the bound symbol, if any.
* When we encounter a declaration, we check that the declared type is
assignable from the inferred type of the symbol from previous bindings,
if any.
* When we encounter a binding+declaration, we check that the inferred
type of the bound value is assignable to the declared type.
2024-09-17 08:11:06 -07:00
..
src [red-knot] use declared types in inference/checking (#13335) 2024-09-17 08:11:06 -07:00
vendor/typeshed Sync vendored typeshed stubs (#13355) 2024-09-14 20:40:42 -04:00
build.rs [red-knot] Merge the semantic and module-resolver crates (#12751) 2024-08-08 15:34:11 +01:00
Cargo.toml [red-knot] add initial Type::is_equivalent_to and Type::is_assignable_to (#13332) 2024-09-12 14:15:25 -04:00
README.md [red-knot] Merge the semantic and module-resolver crates (#12751) 2024-08-08 15:34:11 +01:00

Red Knot

Semantic analysis for the red-knot project.

Vendored types for the stdlib

This crate vendors typeshed's stubs for the standard library. The vendored stubs can be found in crates/red_knot_python_semantic/vendor/typeshed. The file crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt tells you the typeshed commit that our vendored stdlib stubs currently correspond to.

The typeshed stubs are updated every two weeks via an automated PR using the sync_typeshed.yaml workflow in the .github/workflows directory. This workflow can also be triggered at any time via workflow dispatch.