1 个稳定版本

使用旧的 Rust 2015

1.0.0 2016年5月6日

#62 in #smart

10KB
232

scell

一个用于 Rust 的智能单元,允许通过禁用运行时检查的借用来实现功能门控,并提供一个简单的接口

该软件包的目的是允许在代码中使用 Rc<RefCell<T>>,在完成足够的测试后,可以启用 unchecked 功能,这将把 SCell 转换为 Rc<UnsafeCell<T>>

SCell 提供了 Rc<RefCell<T>> 组合通常允许的所有功能以及更多,例如 PartialOrdOrd 的实现。

如果您计划在 debug 模式下进行大量测试,请将此软件包中的 unchecked 功能添加到 release 模式。否则,最好在 debug 模式下启用优化,以便可以在 debug 模式下进行测试,或者为优化后的二进制文件创建一个新的配置文件,这些二进制文件仍然进行 RefCell 提供的运行时检查。一旦您完成了测试,使用启用此软件包 unchecked 功能的编译模式,它将从 RefCell 中删除开销,但不会从 Rc 中删除,因为它仍然需要知道何时 drop() 值。

或者,您也可以放心地将此软件包用于图、网格和其他具有大量互连性的常规数据结构中的正常使用,在这些数据结构中,借用检查者无法提供帮助。稍后,如果您的代码运行良好,并且您需要从 RefCell 中恢复性能,只需使用 unchecked 功能,您的代码就可以正常运行。

无运行时依赖

功能