在 Rust 中,我在哪里可以找到结构体方法实现的引用?

Par*_*olu 5 rust

我通过阅读 Rust 应用程序的代码来学习 Rust,并且经常很难找到结构的特征方法实现。

例如,我有以下代码:

fn peek_u8(src: &mut Cursor<&[u8]>) -> Result<u8, Error> {
    if !src.has_remaining() {
        return Err(Error::Incomplete);
    }

    Ok(src.chunk()[0])
}
Run Code Online (Sandbox Code Playgroud)

我想知道Cursor的'has_remaining'和'chunk'方法的定义和起源在哪里。经过一些互联网研究,我发现它源自 'bytes::Buf' 特征。但是,我找不到“块”。

每次遇到这种情况,我都很难找到 struct 中如何有方法(哪个 Trait 实现了这些方法?)。有时它的时间成本非常高。

有什么建议可以给我吗?

Phi*_*ipK 2

您通常可以在您的库或应用程序的货物文档中找到此类信息。

如果您正在查看现有应用程序并且可以访问源代码,则可以使用Cargo doc生成文档。

在您的示例中,您可以转到光标并从那里导航或仅搜索函数名称。