Я использовал несколько модулей, которые имеют функцию build (), которая возвращает структуру. Однако, когда я пытаюсь создать свою собственную "супер" структуру для объединения их вместе, я сталкиваюсь с ошибкой module `xxx` is private rustc(E0603)
. Если есть черта, я могу передать отдельную переменную в качестве параметра, но не могу понять, как определить / упаковать ее для структуры.
Текущий пример этого я использую при создании гипер-клиента,
// Error due to privacy and cannot use the trait to define the member type
// Both the "hyper_rustls::connector" and "hyper::client::connect::http" modules are private.
struct SecureClient {
client: hyper::client::Client<
hyper_rustls::connector::HttpsConnector<hyper::client::connect::http::HttpConnector>>
}
// Works, but passing the client everywhere as an individual variable is not realistic.
fn use_client(client: hyper::client::Client<impl hyper::client::connect::Connect>) -> () {
()
}
let https_conn = hyper_rustls::HttpsConnector::new(4);
let client: hyper::client::Client<_, hyper::Body> = hyper::Client::builder().build(https_conn);
Будучи новичком в Rust, я изо всех сил пытаюсь понять, что такое правильный жаргон для того, что я пытаюсь сделать, не говоря уже о том, чтобы заставить его работать. Будем благодарны за ссылки на любые документы или примеры кода.
Спасибо