From dd730fc7fa6141410d0db6981cce61da28115972 Mon Sep 17 00:00:00 2001
From: rarbore2 <rarbore2@illinois.edu>
Date: Mon, 25 Nov 2024 12:17:04 -0600
Subject: [PATCH] Fix creation of intermediate DC IDs in inline substitution

---
 hercules_opt/src/inline.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hercules_opt/src/inline.rs b/hercules_opt/src/inline.rs
index 6f6df573..5ce9201e 100644
--- a/hercules_opt/src/inline.rs
+++ b/hercules_opt/src/inline.rs
@@ -216,8 +216,8 @@ fn inline_func(
                     // as the new references we just made in the first step. We
                     // actually want to institute all the updates
                     // *simultaneously*, hence the two step maneuver.
-                    let num_dcs = edit.num_dynamic_constants();
-                    for (dc_a, dc_n) in zip(dcs_a, num_dcs..) {
+                    let first_dc = edit.num_dynamic_constants() + 1;
+                    for (dc_a, dc_n) in zip(dcs_a, first_dc..) {
                         substitute_dynamic_constants_in_node(
                             *dc_a,
                             DynamicConstantID::new(dc_n),
@@ -225,7 +225,7 @@ fn inline_func(
                             &mut edit,
                         );
                     }
-                    for (dc_n, dc_b) in zip(num_dcs.., dcs_b.iter()) {
+                    for (dc_n, dc_b) in zip(first_dc.., dcs_b.iter()) {
                         substitute_dynamic_constants_in_node(
                             DynamicConstantID::new(dc_n),
                             *dc_b,
-- 
GitLab