相关疑难解决方法(0)

有没有办法在另一个特征之上实现特征?

我想创建一个基本特征,将实现其他运营商的特征(Add,Subtract,Multiply,Divide,等...)我.

这无法编译,它看起来像一个发布Sized,但即使Measurement设置为要求Sized它不起作用.这甚至可能吗?

use std::ops::Add;

#[derive(Copy, Clone, Debug)]
struct Unit {
    value: f64,
}

impl Unit {
    fn new(value: f64) -> Unit {
        Unit { value: value }
    }
}

trait Measurement: Sized {
    fn get_value(&self) -> f64;
    fn from_value(value: f64) -> Self;
}

impl Measurement for Unit {
    fn get_value(&self) -> f64 {
        self.value
    }
    fn from_value(value: f64) -> Self {
        Unit::new(value)
    }
}

// This …
Run Code Online (Sandbox Code Playgroud)

traits rust

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

标签 统计

rust ×1

traits ×1