Dependencies 在Rust中指定或导入签名特征的推荐方法是什么?

Dependencies 在Rust中指定或导入签名特征的推荐方法是什么?,dependencies,rust,traits,Dependencies,Rust,Traits,签名的特征,但现在不见了。一年前,但这条线索还没有得出结论,作者继续在Rust language Discussion网站上再次提问 现在在中有一个签名的特征,但我有两个问题: 1) 我真的不明白将板条箱导入到我的项目中是否会产生更大的文件大小开销,特别是如果我只使用其中的一个特性 2) 考虑到这种特性的明显不稳定性,如果我的项目不能保持稳定和兼容,我现在就不愿意在项目中添加另一个依赖项 在这里绘制的正确路线是什么?使用板条箱。编译器将确保创建有效的二进制文件。您可能不会注意到文件大小有任何有趣

签名的
特征,但现在不见了。一年前,但这条线索还没有得出结论,作者继续在Rust language Discussion网站上再次提问

现在在中有一个签名的特征,但我有两个问题:

1) 我真的不明白将板条箱导入到我的项目中是否会产生更大的文件大小开销,特别是如果我只使用其中的一个特性

2) 考虑到这种特性的明显不稳定性,如果我的项目不能保持稳定和兼容,我现在就不愿意在项目中添加另一个依赖项


在这里绘制的正确路线是什么?

使用板条箱。编译器将确保创建有效的二进制文件。您可能不会注意到文件大小有任何有趣的变化。货物将确保实际使用板条箱是容易的

特质的“稳定性”不是特质的固有属性。大多数情况下,这种特质的有用性是值得怀疑的。标准库必须是保守的-在Rust 1.x的整个生命周期内,必须支持存在的任何内容(并且没有Rust 2.x的计划)。因此,向标准库中添加内容受到很大限制

这就是为什么板条箱是如此一流的公民。现在由num板条箱的维护者决定支持该特性的时间。如果他们追随semver(他们应该这样做),那么如果他们放弃对它的支持,这应该是非常明显的。此外,一旦您选择了要编译的板条箱版本,它将永远不会更改,直到您执行
货物更新
,因此您可以安全地使用它


在最坏的情况下,比如说num板条箱决定放弃该特性。在这种情况下,您只需复制实现并生成自己的板条箱。

使用板条箱。编译器将确保创建有效的二进制文件。您可能不会注意到文件大小有任何有趣的变化。货物将确保实际使用板条箱是容易的

特质的“稳定性”不是特质的固有属性。大多数情况下,这种特质的有用性是值得怀疑的。标准库必须是保守的-在Rust 1.x的整个生命周期内,必须支持存在的任何内容(并且没有Rust 2.x的计划)。因此,向标准库中添加内容受到很大限制

这就是为什么板条箱是如此一流的公民。现在由num板条箱的维护者决定支持该特性的时间。如果他们追随semver(他们应该这样做),那么如果他们放弃对它的支持,这应该是非常明显的。此外,一旦您选择了要编译的板条箱版本,它将永远不会更改,直到您执行
货物更新
,因此您可以安全地使用它

在最坏的情况下,比如说num板条箱决定放弃该特性。在这种情况下,您可以简单地复制实现并生成自己的板条箱