Не удается импортировать модуль канала из Tokio Core
Внутри lib.rs у меня есть это:
extern crate tokio_core;
use tokio_core::channel::{channel, Sender, Receiver};
Который заканчивается этой ошибкой:
error[E0432]: unresolved import `tokio_core::channel`
--> src/main.rs:2:17
|
2 | use tokio_core::channel::{channel, Sender, Receiver};
| ^^^^^^^ Could not find `channel` in `tokio_core`
Глядя на файл lib.rs ящика tokio_core, он экспортирует channel
в качестве таких:
#[doc(hidden)]
pub mod channel;
Что касается жизни, я не могу понять, почему это не работает. Я пробовал это на Rust 1.29 и 1.30.1.
1 ответ
Если вы посмотрите на верхнюю часть channel.rs, вы увидите, что весь модуль устарел и доступен только при добавлении соответствующей функции:
#![deprecated(since = "0.1.1", note = "use `futures::sync::mpsc` instead")]
#![allow(deprecated)]
#![cfg(feature = "with-deprecated")]
Однако Cargo.toml даже не позволяет включить эту функцию, и, очевидно, никогда не включал ее. Действительно,вся корзина теперь устарела:
Уведомление об устаревании.
Этот ящик запланирован как устаревший в пользу Токио.
tokio-core
все еще активно поддерживается, но будут применены только исправления ошибок. Все новые возможности разработки происходят в Токио.
Как указано в уведомлении об устаревании, используйтеfutures::sync::mpsc::channel
вместо.