diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs index 9fedb526d55..b9b5878c789 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs @@ -9,12 +9,11 @@ use acvm::acir::{ use crate::brillig::brillig_ir::artifact::GeneratedBrillig; -// TODO(https://github.com/noir-lang/noir/issues/10256): Use `Option` in place of `PLACEHOLDER_BRILLIG_INDEX` /// Brillig calls such as for the Brillig std lib are resolved only after code generation is finished. /// This index should be used when adding a Brillig call during code generation. /// Code generation should then keep track of that unresolved call opcode which will be resolved with the /// correct function index after code generation. -pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(0); +pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(u32::MAX); #[derive(Debug, Clone)] pub(crate) struct BrilligStdLib { diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs index 301a177999f..898e5aece6e 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs @@ -641,7 +641,10 @@ impl GeneratedAcir { }; match &mut self.opcodes[acir_index] { - AcirOpcode::BrilligCall { id, .. } => *id = brillig_function_index, + AcirOpcode::BrilligCall { id, .. } => { + assert!(*id == PLACEHOLDER_BRILLIG_INDEX, "expected placeholder brillig index"); + *id = brillig_function_index; + } _ => panic!("expected brillig call opcode"), } }