4 个版本 (2 个重大更新)

0.3.0 2023年5月18日
0.2.1 2023年5月13日
0.2.0 2023年5月13日
0.1.0 2023年5月13日

#1825 in 开发工具

Download history 12/week @ 2024-03-08 4/week @ 2024-03-15 12/week @ 2024-03-29 8/week @ 2024-04-05 85/week @ 2024-04-12 14/week @ 2024-05-24 86/week @ 2024-05-31

每月95次下载

MIT 许可证

9KB
101

todo_by

注释的编译时生命周期。


要使用此宏,请通过 Cargo 将它添加到依赖项中

cargo add todo_by

然后,导入并调用宏,并添加一个日期(例如在函数或语句上方)如下

use todo_by::todo_by;

todo_by!("2023-06-01");
fn my_function() {
    // TODO: Implement this function by June 1st, 2023
}

如果当前日期在2023年6月1日之后,该宏将生成编译错误,错误信息为“待办_by Jun 1, 2023 已经过期”。如果当前日期在2023年6月1日或之前,该宏将展开为空,代码将正常编译。

您还可以添加特定的 TODO 注释

todo_by!("2023-06-01", "Clean up implementation");

todo_while 宏允许您根据 Cargo.toml 中的 semver 要求确保待办事项已完成

use todo_by::todo_while;

todo_while!("<1.0.0", "This has to be in the first major release")

这也允许您创建阻止项

todo_while!(">123.4", "Must fix this or bump the version")

对库作者的注意事项

目前,如果您发布/提供 crate,并且待办_by 在库代码中过期,那么对于导入 crate 的人来说将是一个无法修复的编译错误。此问题正在被调查 - 如果您有任何解决方案,请提供!

可能有用

以下是针对其他语言和工具的一些替代实现

依赖项

~1.7–2.6MB
~48K SLoC