[red-knot] Don't use separate ID types for each alist (#16415)

Regardless of whether #16408 and #16311 pan out, this part is worth
pulling out as a separate PR.

Before, you had to define a new `IndexVec` index type for each type of
association list you wanted to create. Now there's a single index type
that's internal to the alist implementation, and you use `List<K, V>` to
store a handle to a particular list.

This also adds some property tests for the alist implementation.
This commit is contained in:
Douglas Creager 2025-02-28 14:55:55 -05:00 committed by GitHub
parent fdf0915283
commit ba44e9de13
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 768 additions and 790 deletions

View file

@ -14,6 +14,7 @@ pub use semantic_model::{HasType, SemanticModel};
pub mod ast_node_ref;
mod db;
pub mod lint;
pub(crate) mod list;
mod module_name;
mod module_resolver;
mod node_key;