Replace impl AsRef<str>
with simple &str
This commit is contained in:
parent
79eb64d855
commit
06929469d8
26
src/lua.rs
26
src/lua.rs
|
@ -711,11 +711,7 @@ impl Lua {
|
|||
/// Behavior is similar to Lua's [`require`] function.
|
||||
///
|
||||
/// [`require`]: https://www.lua.org/manual/5.4/manual.html#pdf-require
|
||||
pub fn load_from_function<'lua, T>(
|
||||
&'lua self,
|
||||
modname: impl AsRef<str>,
|
||||
func: Function<'lua>,
|
||||
) -> Result<T>
|
||||
pub fn load_from_function<'lua, T>(&'lua self, modname: &str, func: Function<'lua>) -> Result<T>
|
||||
where
|
||||
T: FromLua<'lua>,
|
||||
{
|
||||
|
@ -728,7 +724,7 @@ impl Lua {
|
|||
Table(self.pop_ref())
|
||||
};
|
||||
|
||||
let modname = self.create_string(modname.as_ref())?;
|
||||
let modname = self.create_string(modname)?;
|
||||
let value = match loaded.raw_get(modname.clone())? {
|
||||
Value::Nil => {
|
||||
let result = match func.call(modname.clone())? {
|
||||
|
@ -750,7 +746,7 @@ impl Lua {
|
|||
/// unloaded only by closing Lua state.
|
||||
///
|
||||
/// [`package.loaded`]: https://www.lua.org/manual/5.4/manual.html#pdf-package.loaded
|
||||
pub fn unload(&self, modname: impl AsRef<str>) -> Result<()> {
|
||||
pub fn unload(&self, modname: &str) -> Result<()> {
|
||||
let loaded = unsafe {
|
||||
let _sg = StackGuard::new(self.state);
|
||||
check_stack(self.state, 2)?;
|
||||
|
@ -760,7 +756,7 @@ impl Lua {
|
|||
Table(self.pop_ref())
|
||||
};
|
||||
|
||||
let modname = self.create_string(modname.as_ref())?;
|
||||
let modname = self.create_string(modname)?;
|
||||
loaded.raw_remove(modname)?;
|
||||
Ok(())
|
||||
}
|
||||
|
@ -1992,7 +1988,7 @@ impl Lua {
|
|||
///
|
||||
/// This value will be available to rust from all `Lua` instances which share the same main
|
||||
/// state.
|
||||
pub fn set_named_registry_value<'lua, T>(&'lua self, name: impl AsRef<str>, t: T) -> Result<()>
|
||||
pub fn set_named_registry_value<'lua, T>(&'lua self, name: &str, t: T) -> Result<()>
|
||||
where
|
||||
T: ToLua<'lua>,
|
||||
{
|
||||
|
@ -2002,7 +1998,7 @@ impl Lua {
|
|||
check_stack(self.state, 5)?;
|
||||
|
||||
self.push_value(t)?;
|
||||
rawset_field(self.state, ffi::LUA_REGISTRYINDEX, name.as_ref())
|
||||
rawset_field(self.state, ffi::LUA_REGISTRYINDEX, name)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2012,7 +2008,7 @@ impl Lua {
|
|||
/// get a value previously set by [`set_named_registry_value`].
|
||||
///
|
||||
/// [`set_named_registry_value`]: #method.set_named_registry_value
|
||||
pub fn named_registry_value<'lua, T>(&'lua self, name: impl AsRef<str>) -> Result<T>
|
||||
pub fn named_registry_value<'lua, T>(&'lua self, name: &str) -> Result<T>
|
||||
where
|
||||
T: FromLua<'lua>,
|
||||
{
|
||||
|
@ -2021,7 +2017,7 @@ impl Lua {
|
|||
check_stack(self.state, 3)?;
|
||||
|
||||
let protect = !self.unlikely_memory_error();
|
||||
push_string(self.state, name.as_ref().as_bytes(), protect)?;
|
||||
push_string(self.state, name.as_bytes(), protect)?;
|
||||
ffi::lua_rawget(self.state, ffi::LUA_REGISTRYINDEX);
|
||||
|
||||
self.pop_value()
|
||||
|
@ -2034,7 +2030,7 @@ impl Lua {
|
|||
/// Equivalent to calling [`set_named_registry_value`] with a value of Nil.
|
||||
///
|
||||
/// [`set_named_registry_value`]: #method.set_named_registry_value
|
||||
pub fn unset_named_registry_value(&self, name: impl AsRef<str>) -> Result<()> {
|
||||
pub fn unset_named_registry_value(&self, name: &str) -> Result<()> {
|
||||
self.set_named_registry_value(name, Nil)
|
||||
}
|
||||
|
||||
|
@ -3183,11 +3179,11 @@ unsafe fn load_from_std_lib(state: *mut ffi::lua_State, libs: StdLib) -> Result<
|
|||
#[inline(always)]
|
||||
pub unsafe fn requiref(
|
||||
state: *mut ffi::lua_State,
|
||||
modname: impl AsRef<str>,
|
||||
modname: &str,
|
||||
openf: ffi::lua_CFunction,
|
||||
glb: c_int,
|
||||
) -> Result<()> {
|
||||
let modname = mlua_expect!(CString::new(modname.as_ref()), "modname contains nil byte");
|
||||
let modname = mlua_expect!(CString::new(modname), "modname contains nil byte");
|
||||
protect_lua!(state, 0, 1, |state| {
|
||||
ffi::luaL_requiref(state, modname.as_ptr() as *const c_char, openf, glb)
|
||||
})
|
||||
|
|
36
src/scope.rs
36
src/scope.rs
|
@ -620,28 +620,28 @@ impl<'lua, T: UserData> Default for NonStaticUserDataMethods<'lua, T> {
|
|||
}
|
||||
|
||||
impl<'lua, T: UserData> UserDataMethods<'lua, T> for NonStaticUserDataMethods<'lua, T> {
|
||||
fn add_method<A, R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_method<A, R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
M: 'static + MaybeSend + Fn(&'lua Lua, &T, A) -> Result<R>,
|
||||
{
|
||||
self.methods.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::Method(Box::new(move |lua, ud, args| {
|
||||
method(lua, ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_method_mut<A, R, M>(&mut self, name: impl AsRef<str>, mut method: M)
|
||||
fn add_method_mut<A, R, M>(&mut self, name: &str, mut method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<R>,
|
||||
{
|
||||
self.methods.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::MethodMut(Box::new(move |lua, ud, args| {
|
||||
method(lua, ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
|
@ -649,7 +649,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> for NonStaticUserDataMethods<'l
|
|||
}
|
||||
|
||||
#[cfg(feature = "async")]
|
||||
fn add_async_method<A, R, M, MR>(&mut self, _name: impl AsRef<str>, _method: M)
|
||||
fn add_async_method<A, R, M, MR>(&mut self, _name: &str, _method: M)
|
||||
where
|
||||
T: Clone,
|
||||
A: FromLuaMulti<'lua>,
|
||||
|
@ -662,28 +662,28 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> for NonStaticUserDataMethods<'l
|
|||
mlua_panic!("asynchronous methods are not supported for non-static userdata")
|
||||
}
|
||||
|
||||
fn add_function<A, R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_function<A, R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
F: 'static + MaybeSend + Fn(&'lua Lua, A) -> Result<R>,
|
||||
{
|
||||
self.methods.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::Function(Box::new(move |lua, args| {
|
||||
function(lua, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_function_mut<A, R, F>(&mut self, name: impl AsRef<str>, mut function: F)
|
||||
fn add_function_mut<A, R, F>(&mut self, name: &str, mut function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
F: 'static + MaybeSend + FnMut(&'lua Lua, A) -> Result<R>,
|
||||
{
|
||||
self.methods.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::FunctionMut(Box::new(move |lua, args| {
|
||||
function(lua, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
|
@ -691,7 +691,7 @@ impl<'lua, T: UserData> UserDataMethods<'lua, T> for NonStaticUserDataMethods<'l
|
|||
}
|
||||
|
||||
#[cfg(feature = "async")]
|
||||
fn add_async_function<A, R, F, FR>(&mut self, _name: impl AsRef<str>, _function: F)
|
||||
fn add_async_function<A, R, F, FR>(&mut self, _name: &str, _function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -805,52 +805,52 @@ impl<'lua, T: UserData> Default for NonStaticUserDataFields<'lua, T> {
|
|||
}
|
||||
|
||||
impl<'lua, T: UserData> UserDataFields<'lua, T> for NonStaticUserDataFields<'lua, T> {
|
||||
fn add_field_method_get<R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_field_method_get<R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
M: 'static + MaybeSend + Fn(&'lua Lua, &T) -> Result<R>,
|
||||
{
|
||||
self.field_getters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::Method(Box::new(move |lua, ud, _| {
|
||||
method(lua, ud)?.to_lua_multi(lua)
|
||||
})),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_field_method_set<A, M>(&mut self, name: impl AsRef<str>, mut method: M)
|
||||
fn add_field_method_set<A, M>(&mut self, name: &str, mut method: M)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<()>,
|
||||
{
|
||||
self.field_setters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::MethodMut(Box::new(move |lua, ud, args| {
|
||||
method(lua, ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_field_function_get<R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_field_function_get<R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
F: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>) -> Result<R>,
|
||||
{
|
||||
self.field_getters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::Function(Box::new(move |lua, args| {
|
||||
function(lua, AnyUserData::from_lua_multi(args, lua)?)?.to_lua_multi(lua)
|
||||
})),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_field_function_set<A, F>(&mut self, name: impl AsRef<str>, mut function: F)
|
||||
fn add_field_function_set<A, F>(&mut self, name: &str, mut function: F)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
F: 'static + MaybeSend + FnMut(&'lua Lua, AnyUserData<'lua>, A) -> Result<()>,
|
||||
{
|
||||
self.field_setters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
NonStaticMethod::FunctionMut(Box::new(move |lua, args| {
|
||||
let (ud, val) = <_>::from_lua_multi(args, lua)?;
|
||||
function(lua, ud, val)?.to_lua_multi(lua)
|
||||
|
|
|
@ -310,7 +310,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
///
|
||||
/// If `add_meta_method` is used to set the `__index` metamethod, the `__index` metamethod will
|
||||
/// be used as a fall-back if no regular method is found.
|
||||
fn add_method<A, R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_method<A, R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -321,7 +321,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
/// Refer to [`add_method`] for more information about the implementation.
|
||||
///
|
||||
/// [`add_method`]: #method.add_method
|
||||
fn add_method_mut<A, R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_method_mut<A, R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -337,7 +337,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
/// [`add_method`]: #method.add_method
|
||||
#[cfg(feature = "async")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
|
||||
fn add_async_method<A, R, M, MR>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_async_method<A, R, M, MR>(&mut self, name: &str, method: M)
|
||||
where
|
||||
T: Clone,
|
||||
A: FromLuaMulti<'lua>,
|
||||
|
@ -355,7 +355,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
/// [`AnyUserData`]: crate::AnyUserData
|
||||
/// [`add_method`]: #method.add_method
|
||||
/// [`add_method_mut`]: #method.add_method_mut
|
||||
fn add_function<A, R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_function<A, R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -366,7 +366,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
/// This is a version of [`add_function`] that accepts a FnMut argument.
|
||||
///
|
||||
/// [`add_function`]: #method.add_function
|
||||
fn add_function_mut<A, R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_function_mut<A, R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -382,7 +382,7 @@ pub trait UserDataMethods<'lua, T: UserData> {
|
|||
/// [`add_function`]: #method.add_function
|
||||
#[cfg(feature = "async")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
|
||||
fn add_async_function<A, R, F, FR>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_async_function<A, R, F, FR>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -508,7 +508,7 @@ pub trait UserDataFields<'lua, T: UserData> {
|
|||
///
|
||||
/// If `add_meta_method` is used to set the `__index` metamethod, the `__index` metamethod will
|
||||
/// be used as a fall-back if no regular field or method are found.
|
||||
fn add_field_method_get<R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_field_method_get<R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
M: 'static + MaybeSend + Fn(&'lua Lua, &T) -> Result<R>;
|
||||
|
@ -520,7 +520,7 @@ pub trait UserDataFields<'lua, T: UserData> {
|
|||
///
|
||||
/// If `add_meta_method` is used to set the `__newindex` metamethod, the `__newindex` metamethod will
|
||||
/// be used as a fall-back if no regular field is found.
|
||||
fn add_field_method_set<A, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_field_method_set<A, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<()>;
|
||||
|
@ -532,7 +532,7 @@ pub trait UserDataFields<'lua, T: UserData> {
|
|||
///
|
||||
/// [`AnyUserData`]: crate::AnyUserData
|
||||
/// [`add_field_method_get`]: #method.add_field_method_get
|
||||
fn add_field_function_get<R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_field_function_get<R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
F: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>) -> Result<R>;
|
||||
|
@ -544,7 +544,7 @@ pub trait UserDataFields<'lua, T: UserData> {
|
|||
///
|
||||
/// [`AnyUserData`]: crate::AnyUserData
|
||||
/// [`add_field_method_set`]: #method.add_field_method_set
|
||||
fn add_field_function_set<A, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_field_function_set<A, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
F: 'static + MaybeSend + FnMut(&'lua Lua, AnyUserData<'lua>, A) -> Result<()>;
|
||||
|
@ -974,7 +974,7 @@ impl<'lua> AnyUserData<'lua> {
|
|||
/// The value can be retrieved with [`get_named_user_value`].
|
||||
///
|
||||
/// [`get_named_user_value`]: #method.get_named_user_value
|
||||
pub fn set_named_user_value<V>(&self, name: impl AsRef<str>, v: V) -> Result<()>
|
||||
pub fn set_named_user_value<V>(&self, name: &str, v: V) -> Result<()>
|
||||
where
|
||||
V: ToLua<'lua>,
|
||||
{
|
||||
|
@ -987,7 +987,6 @@ impl<'lua> AnyUserData<'lua> {
|
|||
lua.push_value(v.to_lua(lua)?)?;
|
||||
|
||||
// Multiple (extra) user values are emulated by storing them in a table
|
||||
let name = name.as_ref();
|
||||
protect_lua!(lua.state, 2, 0, |state| {
|
||||
if getuservalue_table(state, -2) != ffi::LUA_TTABLE {
|
||||
// Create a new table to use as uservalue
|
||||
|
@ -1012,7 +1011,7 @@ impl<'lua> AnyUserData<'lua> {
|
|||
/// Returns an associated value by name set by [`set_named_user_value`].
|
||||
///
|
||||
/// [`set_named_user_value`]: #method.set_named_user_value
|
||||
pub fn get_named_user_value<V>(&self, name: impl AsRef<str>) -> Result<V>
|
||||
pub fn get_named_user_value<V>(&self, name: &str) -> Result<V>
|
||||
where
|
||||
V: FromLua<'lua>,
|
||||
{
|
||||
|
@ -1024,7 +1023,6 @@ impl<'lua> AnyUserData<'lua> {
|
|||
lua.push_userdata_ref(&self.0)?;
|
||||
|
||||
// Multiple (extra) user values are emulated by storing them in a table
|
||||
let name = name.as_ref();
|
||||
protect_lua!(lua.state, 1, 1, |state| {
|
||||
if getuservalue_table(state, -1) != ffi::LUA_TTABLE {
|
||||
ffi::lua_pushnil(state);
|
||||
|
|
|
@ -48,28 +48,27 @@ impl<'lua, T: 'static + UserData> Default for StaticUserDataMethods<'lua, T> {
|
|||
}
|
||||
|
||||
impl<'lua, T: 'static + UserData> UserDataMethods<'lua, T> for StaticUserDataMethods<'lua, T> {
|
||||
fn add_method<A, R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_method<A, R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
M: 'static + MaybeSend + Fn(&'lua Lua, &T, A) -> Result<R>,
|
||||
{
|
||||
self.methods
|
||||
.push((name.as_ref().into(), Self::box_method(method)));
|
||||
self.methods.push((name.into(), Self::box_method(method)));
|
||||
}
|
||||
|
||||
fn add_method_mut<A, R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_method_mut<A, R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<R>,
|
||||
{
|
||||
self.methods
|
||||
.push((name.as_ref().into(), Self::box_method_mut(method)));
|
||||
.push((name.into(), Self::box_method_mut(method)));
|
||||
}
|
||||
|
||||
#[cfg(feature = "async")]
|
||||
fn add_async_method<A, R, M, MR>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_async_method<A, R, M, MR>(&mut self, name: &str, method: M)
|
||||
where
|
||||
T: Clone,
|
||||
A: FromLuaMulti<'lua>,
|
||||
|
@ -78,31 +77,31 @@ impl<'lua, T: 'static + UserData> UserDataMethods<'lua, T> for StaticUserDataMet
|
|||
MR: 'lua + Future<Output = Result<R>>,
|
||||
{
|
||||
self.async_methods
|
||||
.push((name.as_ref().into(), Self::box_async_method(method)));
|
||||
.push((name.into(), Self::box_async_method(method)));
|
||||
}
|
||||
|
||||
fn add_function<A, R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_function<A, R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
F: 'static + MaybeSend + Fn(&'lua Lua, A) -> Result<R>,
|
||||
{
|
||||
self.methods
|
||||
.push((name.as_ref().into(), Self::box_function(function)));
|
||||
.push((name.into(), Self::box_function(function)));
|
||||
}
|
||||
|
||||
fn add_function_mut<A, R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_function_mut<A, R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
F: 'static + MaybeSend + FnMut(&'lua Lua, A) -> Result<R>,
|
||||
{
|
||||
self.methods
|
||||
.push((name.as_ref().into(), Self::box_function_mut(function)));
|
||||
.push((name.into(), Self::box_function_mut(function)));
|
||||
}
|
||||
|
||||
#[cfg(feature = "async")]
|
||||
fn add_async_function<A, R, F, FR>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_async_function<A, R, F, FR>(&mut self, name: &str, function: F)
|
||||
where
|
||||
A: FromLuaMulti<'lua>,
|
||||
R: ToLuaMulti<'lua>,
|
||||
|
@ -110,7 +109,7 @@ impl<'lua, T: 'static + UserData> UserDataMethods<'lua, T> for StaticUserDataMet
|
|||
FR: 'lua + Future<Output = Result<R>>,
|
||||
{
|
||||
self.async_methods
|
||||
.push((name.as_ref().into(), Self::box_async_function(function)));
|
||||
.push((name.into(), Self::box_async_function(function)));
|
||||
}
|
||||
|
||||
fn add_meta_method<A, R, M>(&mut self, meta: impl Into<MetaMethod>, method: M)
|
||||
|
@ -467,46 +466,44 @@ impl<'lua, T: 'static + UserData> Default for StaticUserDataFields<'lua, T> {
|
|||
}
|
||||
|
||||
impl<'lua, T: 'static + UserData> UserDataFields<'lua, T> for StaticUserDataFields<'lua, T> {
|
||||
fn add_field_method_get<R, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_field_method_get<R, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
M: 'static + MaybeSend + Fn(&'lua Lua, &T) -> Result<R>,
|
||||
{
|
||||
self.field_getters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
StaticUserDataMethods::box_method(move |lua, data, ()| method(lua, data)),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_field_method_set<A, M>(&mut self, name: impl AsRef<str>, method: M)
|
||||
fn add_field_method_set<A, M>(&mut self, name: &str, method: M)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
M: 'static + MaybeSend + FnMut(&'lua Lua, &mut T, A) -> Result<()>,
|
||||
{
|
||||
self.field_setters.push((
|
||||
name.as_ref().into(),
|
||||
StaticUserDataMethods::box_method_mut(method),
|
||||
));
|
||||
self.field_setters
|
||||
.push((name.into(), StaticUserDataMethods::box_method_mut(method)));
|
||||
}
|
||||
|
||||
fn add_field_function_get<R, F>(&mut self, name: impl AsRef<str>, function: F)
|
||||
fn add_field_function_get<R, F>(&mut self, name: &str, function: F)
|
||||
where
|
||||
R: ToLua<'lua>,
|
||||
F: 'static + MaybeSend + Fn(&'lua Lua, AnyUserData<'lua>) -> Result<R>,
|
||||
{
|
||||
self.field_getters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
StaticUserDataMethods::<T>::box_function(function),
|
||||
));
|
||||
}
|
||||
|
||||
fn add_field_function_set<A, F>(&mut self, name: impl AsRef<str>, mut function: F)
|
||||
fn add_field_function_set<A, F>(&mut self, name: &str, mut function: F)
|
||||
where
|
||||
A: FromLua<'lua>,
|
||||
F: 'static + MaybeSend + FnMut(&'lua Lua, AnyUserData<'lua>, A) -> Result<()>,
|
||||
{
|
||||
self.field_setters.push((
|
||||
name.as_ref().into(),
|
||||
name.into(),
|
||||
StaticUserDataMethods::<T>::box_function_mut(move |lua, (data, val)| {
|
||||
function(lua, data, val)
|
||||
}),
|
||||
|
|
Loading…
Reference in a new issue