Trait Arguments

Source
pub trait Arguments<T: ?Sized> {
    type PushArg<Head: VarArgs>: VarArgs;

    // Required method
    fn push_arg<Head: VarArgs>(head: Head, arg: &T) -> Self::PushArg<Head>;
}
Expand description

Implements a list of arguments to a vararg call.

See module level docs for a detailed description on how Arguments works and is used.

Required Associated Types§

Source

type PushArg<Head: VarArgs>: VarArgs

Type produced by calling Self::push_arg().

Required Methods§

Source

fn push_arg<Head: VarArgs>(head: Head, arg: &T) -> Self::PushArg<Head>

Push an argument onto the list of varargs.

This may actually push zero, one, or more arguments onto the list depending on implementation.

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.

Implementations on Foreign Types§

Source§

impl Arguments<&str> for &str

Source§

type PushArg<Head: VarArgs> = <<Head as VarArgs>::OneMore<i32> as VarArgs>::OneMore<*const u8>

Source§

fn push_arg<Head: VarArgs>(head: Head, arg: &&str) -> Self::PushArg<Head>

Source§

impl Arguments<char> for char

Source§

type PushArg<Head: VarArgs> = <Head as VarArgs>::OneMore<char>

Source§

fn push_arg<Head: VarArgs>(head: Head, arg: &char) -> Self::PushArg<Head>

Source§

impl Arguments<i32> for i32

Source§

type PushArg<Head: VarArgs> = <Head as VarArgs>::OneMore<i32>

Source§

fn push_arg<Head: VarArgs>(head: Head, arg: &i32) -> Self::PushArg<Head>

Source§

impl Arguments<u32> for u32

Source§

type PushArg<Head: VarArgs> = <Head as VarArgs>::OneMore<u32>

Source§

fn push_arg<Head: VarArgs>(head: Head, arg: &u32) -> Self::PushArg<Head>

Implementors§