#废弃 #属性 #版本 # #移除 #强制 #废弃至

deprecate-until

Rust 属性,用于强制在指定版本中删除已废弃的项目

2 个版本

0.1.1 2023年11月29日
0.1.0 2023年7月15日

2449开发工具

Download history 4772/week @ 2024-03-14 5378/week @ 2024-03-21 4723/week @ 2024-03-28 8836/week @ 2024-04-04 11388/week @ 2024-04-11 8980/week @ 2024-04-18 9267/week @ 2024-04-25 8807/week @ 2024-05-02 9120/week @ 2024-05-09 7850/week @ 2024-05-16 7567/week @ 2024-05-23 11853/week @ 2024-05-30 8992/week @ 2024-06-06 9924/week @ 2024-06-13 8974/week @ 2024-06-20 6822/week @ 2024-06-27

每月下载量 36,458
23 个软件包中使用(通过 pathfinding

Apache-2.0/MIT

10KB
99 代码行

废弃至

Current Version Documentation License: Apache-2.0/MIT

该软件包引入了一个新的 deprecate_until 属性,帮助软件包作者在达到某个版本时不要删除过时的项目。当指定的 semver 条件得到验证时,软件包将无法编译,并希望这能被 CI 或 cargo install 在实际发布之前捕获。

用法

deprecate_until 属性支持与 deprecate 相同的参数,即 notesince。它还需要一个 remove 参数,这是一个字符串中的 semver 要求表达式。

示例

以下代码

use deprecate_until::deprecate_until;

#[deprecate_until(remove = ">= 4.x", note = "use `some_new_function` instead")]
fn old_function() {
    todo!()
}

当在项目中使用软件包的版本 3.8 时将给出警告

warning: use of deprecated function `old_function`: use `some_new_function` instead (removal scheduled for version >= 4.x)
  |
4 | fn old_function() {
  |    ^^^^^^^^^^^^

如果忘记移除它,它将导致软件包版本 4.0.0 中的编译错误

error: version `4.0.0` matches `>= 4.x`, item should be removed
  |
3 | #[deprecate_until(remove = ">= 4.x", note = "use `some_new_function` instead")]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

依赖项

~0.4–0.8MB
~19K SLoC