pub trait File {
type Artichoke;
type Error;
// Required method
fn require(interp: &mut Self::Artichoke) -> Result<(), Self::Error>;
}
Expand description
Rust extension hook that can be required.
File
s are mounted in the interpreter file system and can modify interpreter
state when they are loaded.
Required Associated Types§
Required Methods§
Sourcefn require(interp: &mut Self::Artichoke) -> Result<(), Self::Error>
fn require(interp: &mut Self::Artichoke) -> Result<(), Self::Error>
Called when the filename mapped to this type is required by the VM.
This function can mutate interpreter state, such as defining classes and modules. This function is equivalent to the “init” methods of C-implemented Rubygems.
§Errors
If a fallible API on the interpreter returns an error, implementors
should return an error. Example fallible APIs that might be called on
require include Eval::eval
and
LoadSources::def_rb_source_file
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.