From ae17058704695f886f5f2bb75c7b6bfaff4c873b Mon Sep 17 00:00:00 2001 From: kevin zhao Date: Thu, 13 Nov 2025 14:14:58 -0500 Subject: [PATCH] directly passing starlark error --- codex-rs/execpolicy2/src/error.rs | 5 +++-- codex-rs/execpolicy2/src/parser.rs | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/codex-rs/execpolicy2/src/error.rs b/codex-rs/execpolicy2/src/error.rs index d8d45c2e2b..2f168a027e 100644 --- a/codex-rs/execpolicy2/src/error.rs +++ b/codex-rs/execpolicy2/src/error.rs @@ -1,8 +1,9 @@ +use starlark::Error as StarlarkError; use thiserror::Error; pub type Result = std::result::Result; -#[derive(Debug, Error, PartialEq, Eq)] +#[derive(Debug, Error)] pub enum Error { #[error("invalid decision: {0}")] InvalidDecision(String), @@ -21,5 +22,5 @@ pub enum Error { #[error("expected example to not match rule `{rule}`: {example}")] ExampleDidMatch { rule: String, example: String }, #[error("starlark error: {0}")] - Starlark(String), + Starlark(StarlarkError), } diff --git a/codex-rs/execpolicy2/src/parser.rs b/codex-rs/execpolicy2/src/parser.rs index 8cd165ea49..b6787509d0 100644 --- a/codex-rs/execpolicy2/src/parser.rs +++ b/codex-rs/execpolicy2/src/parser.rs @@ -41,7 +41,7 @@ impl PolicyParser { policy_file_contents.to_string(), &dialect, ) - .map_err(|e| Error::Starlark(e.to_string()))?; + .map_err(Error::Starlark)?; let globals = GlobalsBuilder::standard().with(policy_builtins).build(); let module = Module::new(); @@ -49,8 +49,7 @@ impl PolicyParser { { let mut eval = Evaluator::new(&module); eval.extra = Some(&builder); - eval.eval_module(ast, &globals) - .map_err(|e| Error::Starlark(e.to_string()))?; + eval.eval_module(ast, &globals).map_err(Error::Starlark)?; } Ok(builder.build()) }