Skip to content

Commit

Permalink
[red-knot] Add debug assert to check for duplicate definitions (#13214)
Browse files Browse the repository at this point in the history
## Summary

Closes: #13085

## Test Plan

`cargo insta test --workspace`
  • Loading branch information
dhruvmanila committed Sep 4, 2024
1 parent e1e9143 commit 862bd0c
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions crates/red_knot_python_semantic/src/semantic_index/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,11 @@ impl<'db> SemanticIndexBuilder<'db> {
countme::Count::default(),
);

self.definitions_by_node
let existing_definition = self
.definitions_by_node
.insert(definition_node.key(), definition);
debug_assert_eq!(existing_definition, None);

self.current_use_def_map_mut()
.record_definition(symbol, definition);

Expand Down Expand Up @@ -327,10 +330,11 @@ impl<'db> SemanticIndexBuilder<'db> {
// Insert a mapping from the parameter to the same definition.
// This ensures that calling `HasTy::ty` on the inner parameter returns
// a valid type (and doesn't panic)
self.definitions_by_node.insert(
let existing_definition = self.definitions_by_node.insert(
DefinitionNodeRef::from(AnyParameterRef::Variadic(&with_default.parameter)).key(),
definition,
);
debug_assert_eq!(existing_definition, None);
}
}

Expand Down

0 comments on commit 862bd0c

Please sign in to comment.