从git2-rs包装器中“使用raw”和“raw:raw :: git_buf”是什么意思?

问题描述 投票:0回答:1

我正在尝试在一些原生的Rust-C绑定上构建一个安全的包装器。我正在引用git2-rs代码库,我遇到了以下用法:

use raw;
use util::Binding;
pub struct Buf {
    raw: raw::git_buf,
}

什么是use rawraw: raw::git_buf在做什么?我认为这与std::raw有关。

rust
1个回答
2
投票

rawthe identifier that git2-rs chooses to give to the libgit2_sys crate

extern crate libgit2_sys as raw;

use raw因此等同于use libgit2_sys,在概念上与use regexuse itertools相同 - 它只是将箱子放入本单元的范围。

请重新阅读Referring to Names in Different ModulesThe Rust Programming Language,了解use声明。

raw: raw::git_buf将结构raw的字段Buf定义为raw::git_buf类型。这相当于raw: libgit2_sys::git_buf,在概念上与raw: Stringraw: i32相同。

请重新阅读Defining and Instantiating Structs,了解如何定义结构。

© www.soinside.com 2019 - 2024. All rights reserved.