< 返回版块

hzqd 发表于 2021-03-24 02:19

Tags:trait,generic,parameters

举个简单的例子,trait 函数的泛型参数:

trait Ext: Sized {
    fn then<R>(self, f: fn(Self) -> R) -> R {
        f(self)
    }
}

impl<T> Ext for T {}

trait 的泛型参数:

trait Ext<R>: Sized {
    fn then(self, f: fn(Self) -> R) -> R {
        f(self)
    }
}

impl<T, R> Ext<R> for T {}

二者有何区别?何时该用“trait 函数的泛型参数”,何时该用“trait 的泛型参数”?

评论区

写评论
jmjoy 2021-03-24 10:49

一个局部,一个全局。

1 共 1 条评论, 1 页