Skip to main content

Param

Derive Macro Param 

Source
#[derive(Param)]
{
    // Attributes available to this derive:
    #[param]
}
Expand description

Derive the Param trait for a struct, enabling it to be used as a grouped handler parameter.

The struct must have exactly one lifetime parameter. Each field must implement Param, or be annotated with #[param(ignore)] (in which case it must implement Default).

use nexus_rt::{Param, Res, ResMut, Local};

#[derive(Param)]
struct TradingParams<'w> {
    book: Res<'w, OrderBook>,
    risk: ResMut<'w, RiskState>,
    local_count: Local<'w, u64>,
}

fn on_order(params: TradingParams<'_>, order: Order) {
    // params.book, params.risk, params.local_count all available
}