Основная проблема с вашим примером, это static Client
:
- Это не может быть создано, потому что Rust не позволяет жизнь до или после
main
. - Это не может быть изменен без использования
unsafe
, из соображений безопасности потоков.
Вы можете создать Client
, если сделаете его new
функцию const
.
Затем вы можете сделать это pub
, и переадресация функции вообще не требуется, пользователи могут просто позвонить CLIENT.search
.
pub static CLIENT: other_mod::Client = Client::new();
Вы также можете рефакторинг other_mod
в выставить функцию search
как отдельную:
pub async fn search(query: &str) -> ...
, а затем переслать ее по-своему:
pub use other_mod::search;
Нет просто средств для перенаправления методов на глобальные переменные ; На глобальные переменные ржавеет хрен sh, потому что они открывают всевозможные проблемы, поэтому я сомневаюсь, что такой синтаксис c сахара появится в ближайшее время.