[][src]Trait glsp::MakeArg

pub trait MakeArg<'a>: MakeTemp {
    fn make_arg(temp: &'a mut Self::Temp) -> Result<Self, GError>;
}

A type which can act as an RFn parameter.

A blanket implementation is provided for any type which implements FromVal, and also for several other types:

  • Option<T>, which acts as an optional parameter, storing None when an argument isn't provided.
  • &[T] or &mut [T], which act as a "rest" parameter, capturing any number of arguments.
  • OrNil<T>, which accepts either the specified type or #n.
  • Shared references to primitive types: &Arr, &Tab, etc.
  • String slices: &str, &Path, &CStr, &OsStr.
  • &T and &mut T, where T was defined using the lib! or rdata! macros.

It's not possible to implement this trait for your own types. Implement FromVal instead, or define your type using rdata! or lib!.

Required methods

fn make_arg(temp: &'a mut Self::Temp) -> Result<Self, GError>

Loading content...

Implementations on Foreign Types

impl<'a, 'r> MakeArg<'a> for &'r OsStr where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Path where
    'a: 'r, 
[src]

impl<'a, 'r, T> MakeArg<'a> for &'r [T] where
    'a: 'r,
    T: 'static + for<'a2> MakeArg<'a2, Temp = Slot>,
    [T; 8]: Array,
    <[T; 8] as Array>::Item == T, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r str where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r CStr where
    'a: 'r, 
[src]

impl<'a, 'r, T> MakeArg<'a> for &'r mut [T] where
    'a: 'r,
    T: 'static + for<'a2> MakeArg<'a2, Temp = Slot>,
    [T; 8]: Array,
    <[T; 8] as Array>::Item == T, 
[src]

impl<'a, T> MakeArg<'a> for Option<T> where
    T: MakeArg<'a>, 
[src]

Loading content...

Implementors

impl<'a, 'r> MakeArg<'a> for &'r Arr where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Class where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Coro where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r GFn where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r GIter where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Obj where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r RData where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Str where
    'a: 'r, 
[src]

impl<'a, 'r> MakeArg<'a> for &'r Tab where
    'a: 'r, 
[src]

impl<'a, T> MakeArg<'a> for OrNil<T> where
    T: MakeArg<'a>, 
[src]

impl<'a, T> MakeArg<'a> for T where
    T: FromVal + MakeTemp<Temp = Slot>, 
[src]

Loading content...