1个不稳定版本
0.0.0 | 2024年6月24日 |
---|
#88 在 #drop
34 每月下载量
在 4 个crate中使用
6KB
55 行
丢弃此
有时,你可能想忽略某些函数调用的输出。然而,忽略错误值的风险是存在的。例如,考虑以下通过通道发送消息的代码
_ = sender.send(msg);
这是正确的吗?嗯,这取决于通道。一些通道的 send
方法是异步的,在这种情况下,上面的代码创建了一个 Future
并忽略了它——显然是一个错误;其他通道有一个同步的 send
方法,所以代码是正确的…
核心问题在于 drop
和 _ = …
是类型无关的,而当你忽略值时,你希望是类型感知的。因此,drop_this
提出的改进方案将是
use drop_this::*;
sender.send(msg).drop_result();
lib.rs
:
提供用于丢弃特定类型值的特型,作为类型无关的 drop
或 _ =
赋值的替代。这有助于避免丢弃错误类型,例如,在通过通道发送消息时。
依赖项
~0–1.1MB
~19K SLoC