Hacker News new | ask | show | jobs
by nequo 1043 days ago
Your example is more concise but the error message "{term} invalid" is less descriptive than the author's.

What would be the idiomatic way for the function `eval` to provide good error messages in Rust?

1 comments

I would probably put a trait implementatoin on Value that does `.invert_bool`, and have that panic. That way eval is just `eval(m).invert_bool()` and if it panics it panics.

What you really probably want is to make this a Result type-returning thing, and then have have `not` be a function of type Value -> Result<Value,ErrType>, and then you can do not(eval(m)) and panic at the top-level.