【发布时间】:2016-12-26 04:54:58
【问题描述】:
我有一个公共特征的实现,它在多个函数上重复一些工作,所以我想用一个完成共享工作的函数来干掉它,从实际打算使用的函数中调用。所以我有:
fn do_private_thing()fn do_pub_1()fn do_pub_2()
我不希望 do_private_thing() 在文档中公开或直接使用,因为从特征/实现用户的角度来看,它没有做任何有用的事情。但是公共特征中的函数不是私有的。
我可以在 trait 实现所在的模块中将 do_private_thing 设为私有函数,但该 trait 确实要求该函数的工作由该 trait 的任何实现完成。因此,如果我将代码排除在实现之外,我觉得我有点撒谎。
在 Rust 中进行布局的合理方式是什么?
【问题讨论】:
-
minimal reproducible example 可以很好地了解您想要什么。
-
@Stargateur 但这是在任何特定实现之前。我问的是一般的想法是什么。这里的 MCVE 会是什么,但是一堆花括号和
impl/trait关键字? -
好吧,我是 rust 的新手,但我有一些 API 设计技能。我不确定是否理解这个问题的生锈部分。 minimal reproducible example 可以帮助我更好地理解生锈部分。因为这个问题可能更多是关于设计的。也许你能提供一个“伪代码”?
标签: module rust private traits