如何正确废弃一个Crate功能特性

6

我有一个板条箱,到目前为止一直拥有一个不再需要的功能。我想弃用它,但不知道怎么做。

我目前的计划是首先将其设为默认功能,然后怎么办呢?


2
大概您想要先引入一个警告,然后一些时间后增加SemVer并且完全删除该特性,使其成为硬错误。实际上没有很好的方法来做到这一点。一个非常笨拙的方法是使用该功能来启用一些代码以触发警告。但是您无法控制该警告的外观。有诊断API(Diagnostics API),可能可以通过过程宏完成所需的操作,但尚未稳定。 - Peter Hall
1个回答

2
你可以将这个应用于以前依赖此功能的函数中:

最初的回答:

你可以在之前依赖此功能的函数中使用它。
#[cfg_attr(feature = "unwanted", deprecated(note = "don't use the feature"))]

这将仅在启用该功能时显示警告。但是,警告会有点误导,因为它会指向函数。
当您完全移除该功能时,应增加主版本。
最初的回答:该警告仅在启用该功能时显示。然而,由于它指向函数,所以可能会有些误导。当您完全移除该功能时,请增加主版本号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接