相关疑难解决方法(0)

新类型的 Rust 特征

假设我已经Group通过所有组操作定义了一个特征。是否可以创建一个包装器AGroupGroup无需手动派生其所有操作?

基本上,我想要这个:

#[derive (Copy, Debug, Clone, Eq, PartialEq, Group)] // How could I derive Group here as well?
struct AGroup<G: Group>(G);
Run Code Online (Sandbox Code Playgroud)

没有所有这些样板:

impl<G: Group> Add for AGroup<G>{
    type Output = AGroup<G>;
    fn add(self, other: Self) -> Self {
        AGroup(self.0 + other.0)
    }
}

impl<G: Group> Neg for AGroup<G>{
    type Output = AGroup<G>;
    fn neg(self) -> Self {
        AGroup(-self.0)
    }
}
...
Run Code Online (Sandbox Code Playgroud)

traits rust

7
推荐指数
1
解决办法
2100
查看次数

如何声明一个函数而不实现它?

我想比较函数的不同实现的程序集,但我不想实现某些功能,只需声明它们。

在 Rust 中,前向声明通常是不必要的,因为编译器不需要函数来解析它们(与 C 中不同)。但是,是否有可能做一些等同于前向声明的事情?

rust

3
推荐指数
2
解决办法
628
查看次数

标签 统计

rust ×2

traits ×1