pub trait TypedDataFields<'lua, T> {
// Required methods
fn document(&mut self, doc: &str) -> &mut Self;
fn add_field<V>(&mut self, name: impl AsRef<str>, value: V)
where V: IntoLua<'lua> + Clone + 'static + Typed;
fn add_field_method_get<S, R, M>(&mut self, name: &S, method: M)
where S: AsRef<str> + ?Sized,
R: IntoLua<'lua> + Typed,
M: 'static + MaybeSend + Fn(&'lua Lua, &T) -> Result<R>;
fn add_field_method_set<S, A, M>(&mut self, name: &S, method: M)
where S: AsRef<str> + ?Sized,
A: FromLua<'lua> + Typed,
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<()>;
fn add_field_method_get_set<S, R, A, GET, SET>(
&mut self,
name: &S,
get: GET,
set: SET,
)
where S: AsRef<str> + ?Sized,
R: IntoLua<'lua> + Typed,
A: FromLua<'lua> + Typed,
GET: 'static + MaybeSend + Fn(&'lua Lua, &T) -> Result<R>,
SET: 'static + MaybeSend + Fn(&'lua Lua, &mut T, A) -> Result<()>;
fn add_field_function_get<S, R, F>(&mut self, name: &S, function: F)
where S: AsRef<str> + ?Sized,
R: IntoLua<'lua> + Typed,
F: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>) -> Result<R>;
fn add_field_function_set<S, A, F>(&mut self, name: &S, function: F)
where S: AsRef<str> + ?Sized,
A: FromLua<'lua> + Typed,
F: 'static + MaybeSend + FnMut(&'lua Lua, AnyUserData<'lua>, A) -> Result<()>;
fn add_field_function_get_set<S, R, A, GET, SET>(
&mut self,
name: &S,
get: GET,
set: SET,
)
where S: AsRef<str> + ?Sized,
R: IntoLua<'lua> + Typed,
A: FromLua<'lua> + Typed,
GET: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>) -> Result<R>,
SET: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>, A) -> Result<()>;
fn add_meta_field<R, F>(&mut self, meta: MetaMethod, f: F)
where F: 'static + MaybeSend + Fn(&'lua Lua) -> Result<R>,
R: IntoLua<'lua> + Typed;
}
Expand description
Typed variant of [UserDataMethods
]
Required Methods§
Sourcefn document(&mut self, doc: &str) -> &mut Self
fn document(&mut self, doc: &str) -> &mut Self
Adds documentation to the next field that gets added
Sourcefn add_field_method_get<S, R, M>(&mut self, name: &S, method: M)
fn add_field_method_get<S, R, M>(&mut self, name: &S, method: M)
Typed version of add_field_method_get
Sourcefn add_field_method_set<S, A, M>(&mut self, name: &S, method: M)
fn add_field_method_set<S, A, M>(&mut self, name: &S, method: M)
Typed version of dd_field_method_set
Sourcefn add_field_method_get_set<S, R, A, GET, SET>(
&mut self,
name: &S,
get: GET,
set: SET,
)
fn add_field_method_get_set<S, R, A, GET, SET>( &mut self, name: &S, get: GET, set: SET, )
Typed version of add_field_method_get and add_field_method_set combined
Sourcefn add_field_function_get<S, R, F>(&mut self, name: &S, function: F)
fn add_field_function_get<S, R, F>(&mut self, name: &S, function: F)
Typed version of add_field_function_get
Sourcefn add_field_function_set<S, A, F>(&mut self, name: &S, function: F)
fn add_field_function_set<S, A, F>(&mut self, name: &S, function: F)
Typed version of add_field_function_set
Sourcefn add_field_function_get_set<S, R, A, GET, SET>(
&mut self,
name: &S,
get: GET,
set: SET,
)
fn add_field_function_get_set<S, R, A, GET, SET>( &mut self, name: &S, get: GET, set: SET, )
Typed version of add_field_function_get and add_field_function_set combined
Sourcefn add_meta_field<R, F>(&mut self, meta: MetaMethod, f: F)
fn add_meta_field<R, F>(&mut self, meta: MetaMethod, f: F)
Typed version of add_meta_field
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.