5 个版本
使用旧的 Rust 2015
0.1.5 | 2016 年 12 月 26 日 |
---|---|
0.1.4 | 2016 年 7 月 21 日 |
0.1.3 | 2016 年 6 月 24 日 |
0.1.2 | 2016 年 6 月 23 日 |
0.1.0 | 2016 年 6 月 12 日 |
#18 in #overflow
用于 overflower
49KB
811 行
overflower
此项目包含一个编译器插件和支撑库,允许程序员注释其代码以声明如何处理整数溢出。
用法
注意:此功能需要 nightly 编译器,因为支撑库使用了目前尚不稳定的专业化。
要使用它,您需要在您的 Cargo.toml 中添加以下内容
[dependencies]
overflower = "0.9"
您还可以将其作为可选依赖项(代码示例省略)。
接下来,在您的 crate 根目录下,您需要添加
#![feature(plugin)]
#![plugin(overflower)]
extern crate overflower_support;
// Now you can annotate items (up to and including the whole crate)
#[overflow(panic)]
fn panic_on_overflow() { .. }
#[overflow(wrap)]
fn like_you_just_dont_care() { .. }
#[overflow(saturate)]
fn too_much_sunlight() {
#[overflow(default)]
fn but_use_standard_ops_here() { .. }
..
}
对于可选依赖项,您将添加以下内容
#![cfg_attr(feature="overflower", feature(plugin))]
#![cfg_attr(feature="overflower", plugin(overflower))]
#[cfg(feature="overflower")
extern crate overflower_support;
// as well as the following instead of e.g. `#[overflow(wrap)]`
#[cfg_attr(feature="overflower", overflow(wrap))];
这是一个仍在开发中的项目,但大多数功能应该已经可用。
许可证:Apache 2.0 协议