有没有更干净的方法调用语法编写函数的方法?

时间:2019-11-07 17:17:59

标签: rust

我最近发现自己正在做这样的事情来获取方法调用语法:

pub trait Test {
    fn mk_pair(self) -> (Self, Self)
    where
        Self: Sized + Clone,
    {
        (self.clone(), self)
    }
}

impl<T> Test for T {}

pub fn testy<T>(x: T) -> (T, T)
where
    T: Clone,
{
    x.mk_pair()
}

一个愚蠢的例子,但是正如您所看到的,我现在可以呼叫x.mk_pair()而不是mk_pair(x)。在这种情况下可能无关紧要,但是在某些情况下,某些find方法调用语法很好。

问题是,这是所需的最低要求吗?全局展示似乎有点不可靠。有没有更好的方法来给出函数方法调用语法而又没有太多的trait / impl tomfoolery?

0 个答案:

没有答案