В вашей системе отсутствует драйвер mysqlnd!
Если вы можете установить новые пакеты на своем (на сервере Debian / Ubuntu), установите драйвер:
sudo apt-get install php5-mysqlnd
, а затем перезапустите веб-сервер:
sudo /etc/init.d/apache2 restart
Использование параметра универсального типа может помочь, так как 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();
}
Вы должны ввести два параметра типа в сигнатуру функции, один для 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
в зависимости от ваших потребностей.