Rust返回通用特征的已知类型

时间:2019-10-18 20:25:09

标签: generics casting rust traits

我对Rust还是很陌生,我在泛型类型方面苦苦挣扎:

我有一个特质,我想为多种类型实现。 特征包含返回类型未知的函数。

赞:

trait A<T> {
    fn info(&self) -> T;
}

我想为两个结构实现特征,返回类型应在这些结构内指定。

赞:

struct S1 {
    id: i32,
}
struct S2 {
    id: String,
}

impl A for S1 {
    fn info(&self) -> i32 {
        self.id
    }
}

impl A for S2 {
    fn info(&self) -> String {
        self.id
    }
}

我为返回类型尝试了很多组合,但是没有找到一种被编译器接受的组合。在Rust中完全有可能吗?还是我必须使用某种解决方法?

非常感谢您的帮助。

0 个答案:

没有答案