#rfc #shim #break #block #control-flow

no-std breakable-block

为 RFC 2046 中提出的稳定实现提供的一个适配库

1 个稳定版本

1.0.0 2021 年 11 月 6 日

#1497Rust 模式

MIT/Apache 许可

8KB

breakable-block

License: MIT/Apache-2.0 # Issues Crates.io Crate Downloads

为 RFC 2046 中提出的稳定实现提供一个适配库,允许在不返回函数或中断循环的情况下实现短路控制流。

当 RFC 稳定时,此包将被弃用。如果你不需要在稳定版本上工作,你可以在你的包根目录中使用以下内容来启用此功能:

#![feature(label_break_value)]

来启用功能。

此包没有依赖项。

如何使用它

以下是一个示例,直接从 RFC 文档中提取,仅进行了少量修改

use breakable_block::breakable;

breakable!('block: {
    do_thing();
    if condition_not_met() {
        break 'block;
    }
    do_next_thing();
    if condition_not_met() {
        break 'block;
    }
    do_last_thing();
});

与 RFC 示例中的语法差异仅在于包装宏调用。

项目许可证

本项目可以在以下任一许可证下使用:

任选其一。

贡献

除非你明确声明,否则任何你有意提交到 breakable-block 的贡献,根据 Apache-2.0 许可证的定义,都将双许可,如上所述,没有附加条款或条件。

没有运行时依赖