paritytech / jsonrpc

Rust JSON-RPC implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generic parameters and trait bounds on trait methods not preserved in derived client impl

dbw9580 opened this issue · comments

#[rpc]
pub trait Processor {
    #[rpc(name="add")]
    fn add_item<C: Config + Serialize>(&self, item: Item<C>) -> Result<()>;
}

gets expanded to

impl Client {
    pub fn add_item(&self, item: Item<C>) -> impl Future<Output = RpcResult<()>> {
        let args = (item,);
        self.inner.call_method("add", "()", args)
    }
}

which leads to compilation error.