Не удается импортировать модуль канала из Tokio Core - PullRequest
0 голосов
/ 16 ноября 2018

Внутри 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 Ответ

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

Если вы посмотрите на верхнюю часть channel.rs , вы увидите, что весь модуль устарел и доступен только при добавлении соответствующей функции:

#![deprecated(since = "0.1.1", note = "use `futures::sync::mpsc` instead")]
#![allow(deprecated)]
#![cfg(feature = "with-deprecated")]

Однако Cargo.toml даже не позволяет включить эту функцию, и он очевидно никогда не сделал . Действительно, весь ящик теперь устарел:

Уведомление об устаревании.

Этот ящик запланирован как устаревший в пользу Tokio .

tokio-core все еще активно поддерживается, но будут исправлены только ошибки применяется. Все новые разработки происходят в Tokio .

Как указано в уведомлении об устаревании, вместо него используйте futures::sync::mpsc::channel.

...