Не удается импортировать модуль канала из 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 вместо.

Другие вопросы по тегам