Что означают `use raw` и` raw: raw :: git_buf` из оболочки git2-rs? - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь создать безопасную оболочку для некоторых родных привязок Rust-C.Я ссылаюсь на кодовую базу git2-rs и столкнулся со следующим использованием:

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

Что делают use raw и raw: raw::git_buf?Я думаю, что это связано с std::raw.

1 Ответ

0 голосов
/ 16 сентября 2018

raw - это идентификатор, который git2-rs выбирает для передачи в ящик libgit2_sys :

extern crate libgit2_sys as raw;

use raw, таким образом, эквивалентен use libgit2_sys и концептуально является тем жекак use regex или use itertools - он просто помещает ящик в область действия в этом модуле.

Пожалуйста, перечитайте Ссылаясь на имена в разных модулях из Язык программирования Rust для переподготовки оператора use.

raw: raw::git_buf определяет поле raw структуры Buf типа raw::git_buf.Это эквивалентно raw: libgit2_sys::git_buf и концептуально совпадает с raw: String или raw: i32.

. Пожалуйста, перечитайте Определение и создание структур , чтобы узнать, как определяются структуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...