Rust 防锈蚀剂

Rust 防锈蚀剂,rust,Rust,我有一个程序一直依赖于native::io::net:{htons,ntohs},但现在上的错误在“packet::native”中找不到“io”。变化似乎发生在上周的某个时候 搜索不会产生太多关于更改的信息,在文档中搜索htons或ntohs也不会产生任何有用的信息 在锈迹中执行htons或ntohs的(新的?)标准方法是什么 一个显而易见的解决方案是编写我自己的,但人们希望它会在标准库中。您可以在Int特性上使用from\u be和to\u be函数。网络顺序是大端的,所以这是等价的 您可以

我有一个程序一直依赖于
native::io::net:{htons,ntohs}
,但现在
上的错误在“packet::native”中找不到“io”
。变化似乎发生在上周的某个时候

搜索不会产生太多关于更改的信息,在文档中搜索
htons
ntohs
也不会产生任何有用的信息

在锈迹中执行
htons
ntohs
的(新的?)标准方法是什么


一个显而易见的解决方案是编写我自己的,但人们希望它会在标准库中。

您可以在
Int
特性上使用
from\u be
to\u be
函数。网络顺序是大端的,所以这是等价的

您可以在文档中找到它们的示例用法:


这些现在在
std::sys\u common::net
中,但是
std::sys\u common
是私有的。但是它们在
src/libstd/sys/common/net.rs
中的实现非常简单:

pub fn htons(u: u16) -> u16 {
    u.to_be()
}
pub fn ntohs(u: u16) -> u16 {
    Int::from_be(u)
}

谢谢我发现这就是它在引擎盖下工作的方式