通用结构的重复性特征

时间:2016-05-03 15:15:35

标签: rust traits

我正在做一些USB工作,我的设计有一个通用的缓冲区类型,其特征界限为AsRef<[u8]>AsMut<[u8]>。我发现这些特质限制了#34;感染&#34;所有更高层,我必须重复指定它们。有没有办法整理一下?例如:

pub struct Transfer<B: AsRef<[u8]> + AsMut<[u8]>> {
    pub buf: B,
    // ...
}

impl<B: AsRef<[u8]> + AsMut<[u8]>> Transfer<B> {
    // ...
}

pub struct Device<B: AsRef<[u8]> + AsMut<[u8]>> {
    transfers: Vec<Option<Transfer<B>>>,
    // ...
}

impl<B: AsRef<[u8]> + AsMut<[u8]>> Device<B> {
    // ...
}

impl<B: AsRef<[u8]> + AsMut<[u8]>> Evented for Device<B> {
    // ...
}

0 个答案:

没有答案