#drop #values #traits #channel

drop_this

提供方便的特型,用于丢弃特定类型的值

1个不稳定版本

0.0.0 2024年6月24日

#88#drop

34 每月下载量
4 个crate中使用

MIT 协议

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