Какой тип асинхронного FN?

В вашей системе отсутствует драйвер mysqlnd!

Если вы можете установить новые пакеты на своем (на сервере Debian / Ubuntu), установите драйвер:

sudo apt-get install php5-mysqlnd

, а затем перезапустите веб-сервер:

sudo /etc/init.d/apache2 restart
1
задан Shepmaster 20 January 2019 в 03:06
поделиться

2 ответа

Использование параметра универсального типа может помочь, так как async fn возвращает реализацию признака Future.

#![feature(futures_api, async_await)]

use std::future::Future;

fn main() {
    run(foo);
}

async fn foo() {}

fn run<T: Future>(f: fn() -> T) {
    f();
}
0
ответ дан Shepmaster 20 January 2019 в 03:06
поделиться

Вы должны ввести два параметра типа в сигнатуру функции, один для Fn и один для Future, например

#![feature(futures_api, async_await)]

async fn foo() {}

fn run<G: std::future::Future, F: FnOnce() -> G>(f: F) {
    f();
}

fn main() {
    bar(foo)
}

Вы можете заменить FnOnce на Fn или FnMut в зависимости от ваших потребностей.

0
ответ дан Shepmaster 20 January 2019 в 03:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: