Struct rlua::AnyUserData[][src]

pub struct AnyUserData<'lua>(_);

Handle to an internal Lua userdata for any type that implements UserData.

Similar to std::any::Any, this provides an interface for dynamic type checking via the is and borrow methods.

Internally, instances are stored in a RefCell, to best match the mutable semantics of the Lua language.

Note

This API should only be used when necessary. Implementing UserData already allows defining methods which check the type and acquire a borrow behind the scenes.

Methods

impl<'lua> AnyUserData<'lua>
[src]

Checks whether the type of this userdata is T.

Borrow this userdata immutably if it is of type T.

Errors

Returns a UserDataBorrowError if the userdata is already mutably borrowed. Returns a UserDataTypeMismatch if the userdata is not of type T.

Borrow this userdata mutably if it is of type T.

Errors

Returns a UserDataBorrowMutError if the userdata is already borrowed. Returns a UserDataTypeMismatch if the userdata is not of type T.

Sets an associated value to this AnyUserData.

The value may be any Lua value whatsoever, and can be retrieved with get_user_value.

Returns an associated value set by set_user_value.

Trait Implementations

impl<'lua> ToLua<'lua> for AnyUserData<'lua>
[src]

Performs the conversion.

impl<'lua> FromLua<'lua> for AnyUserData<'lua>
[src]

Performs the conversion.

impl<'lua> Clone for AnyUserData<'lua>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'lua> Debug for AnyUserData<'lua>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'lua> !Send for AnyUserData<'lua>

impl<'lua> !Sync for AnyUserData<'lua>