3 个版本
0.1.8 | 2024 年 6 月 20 日 |
---|---|
0.1.7 | 2024 年 6 月 11 日 |
0.1.3 |
|
613 在 Rust 模式 中排名
每月下载量 88
19KB
233 行
libabort
实现了一个无需标准库即可工作的 abort
函数。
提供了一个 AbortGuard
类型,除非显式“解除”,否则会中止进程。这可以防止在 unsafe
代码中间解包时发生恐慌,这使代码变得异常安全。
可用的实现
该库提供多种可能的实现,可以通过使用功能标志来控制。
- 使用 Rust 标准库中的
std::process::abort
函数。这可以通过使用 "std" 功能启用(默认禁用)。 - 使用 C 标准库中的
abort
函数,该函数来自libc
包。这需要链接到 C 标准库,而不是 Rust 库。这可以通过使用 "libc" 功能启用(默认禁用)。 - 如果已知
panic!
实现是中止而不是解包,则abort
函数会简单地触发一个恐慌。这需要一个较新的 Rust 版本(1.60)来检测恐慌是解包还是中止。 - 如果没有其他可用的实现,则
abort
函数会触发双重恐慌。这始终会触发中止,无论 Rust 版本或编译器设置如何。
许可证
根据您的选择,受 Apache License 2.0 或 MIT 许可证的许可。除非您明确说明,否则您有意提交以包含在本项目中的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,而无需任何额外条款或条件。