【发布时间】:2021-07-02 17:29:13
【问题描述】:
我的函数是结构的一部分(出于上下文原因),它不采用self 参数。此外,该结构本身采用泛型参数T,但有一些特征限制:
trait SomeRestriction {}
struct SomeStruct<T: SomeRestriction>(T);
impl<T: SomeRestriction> SomeStruct<T> {
fn some_function_that_does_not_take_self() -> String {
todo!()
}
}
我想写一个测试,我想避免给
自模拟对象以来,该函数self 参数
对于那个小功能和测试来说,使用一些通用结构参数需要付出很多努力。
我这样做是为了其他测试,因为那里有必要,但我想尽可能避免它。
我试着这样称呼它:
let some_string = SomeStruct::some_function_that_does_not_take_self();
但即使不需要,它也会要求我提供类型注释。
有没有办法在不模拟结构或从结构实现中删除函数的情况下调用它?
【问题讨论】:
标签: generics rust self type-annotation