artichoke_backend::core

Trait Eval

Source
pub trait Eval {
    type Value: Value;
    type Error;

    // Required methods
    fn eval(&mut self, code: &[u8]) -> Result<Self::Value, Self::Error>;
    fn eval_os_str(&mut self, code: &OsStr) -> Result<Self::Value, Self::Error>;
    fn eval_file(&mut self, file: &Path) -> Result<Self::Value, Self::Error>;
}
Expand description

Execute code and retrieve its result.

Required Associated Types§

Source

type Value: Value

Concrete type for return values from eval.

Source

type Error

Concrete error type for eval functions.

Required Methods§

Source

fn eval(&mut self, code: &[u8]) -> Result<Self::Value, Self::Error>

Eval code on the Artichoke interpreter using the current parser context.

§Errors

If an exception is raised on the interpreter, then an error is returned.

Source

fn eval_os_str(&mut self, code: &OsStr) -> Result<Self::Value, Self::Error>

Eval code on the Artichoke interpreter using the current parser context when given code as an OsStr.

§Errors

If an exception is raised on the interpreter, then an error is returned.

If code cannot be converted to a &[u8] on the current platform, then an error is returned.

Source

fn eval_file(&mut self, file: &Path) -> Result<Self::Value, Self::Error>

Eval code on the Artichoke interpreter using a new file Context given a file path.

§Errors

If an exception is raised on the interpreter, then an error is returned.

If path does not exist or code cannot be read, an error is returned.

Implementors§