Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.

Commit a58bec2

Browse files
author
Hendrik van Antwerpen
committed
Properly apply bindings
1 parent 5f440a7 commit a58bec2

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

stack-graphs/src/partial.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2417,23 +2417,40 @@ impl PartialPath {
24172417
if !graph[self.end_node].is_jump_to() {
24182418
return Ok(());
24192419
}
2420+
24202421
let scope_variable = match self.scope_stack_postcondition.variable() {
24212422
Some(scope_variable) => scope_variable,
24222423
None => return Err(PathResolutionError::ScopeStackUnsatisfied),
24232424
};
24242425
let mut scope_stack = PartialScopeStack::from_variable(scope_variable);
24252426
scope_stack.push_front(partials, node);
2427+
2428+
let symbol_bindings = PartialSymbolStackBindings::new();
24262429
let mut scope_bindings = PartialScopeStackBindings::new();
24272430
scope_bindings
24282431
.add(partials, scope_variable, scope_stack)
24292432
.unwrap();
2430-
self.scope_stack_precondition
2433+
2434+
self.symbol_stack_precondition = self
2435+
.symbol_stack_precondition
2436+
.apply_partial_bindings(partials, &symbol_bindings, &scope_bindings)
2437+
.unwrap();
2438+
self.scope_stack_precondition = self
2439+
.scope_stack_precondition
24312440
.apply_partial_bindings(partials, &scope_bindings)
24322441
.unwrap();
2433-
self.scope_stack_postcondition
2442+
2443+
self.symbol_stack_postcondition = self
2444+
.symbol_stack_postcondition
2445+
.apply_partial_bindings(partials, &symbol_bindings, &scope_bindings)
2446+
.unwrap();
2447+
self.scope_stack_postcondition = self
2448+
.scope_stack_postcondition
24342449
.apply_partial_bindings(partials, &scope_bindings)
24352450
.unwrap();
2451+
24362452
self.end_node = node;
2453+
24372454
Ok(())
24382455
}
24392456

0 commit comments

Comments
 (0)