Невозможно собрать actix-web 0.7.8 с использованием Rust 1.25 в подсистеме Windows для Linux - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь поиграть с ящиком "actix-web", используя Cargo.Я использую WSL-версию Ubuntu для Windows 10.

Шаги, которые я запустил:

  • Установить Cargo (и Rust с ним), используя sudo apt install cargo
  • Создан проект с использованием cargo new hello
  • Добавлено actix-web = "0.7.8" в [dependencies] в файле Cargo.toml
  • Ran cargo run и получена следующая ошибка компиляции:
error[E0658]: non-reference pattern used to match a reference (see issue #42640)
--> /home/ash/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.2/build.rs:375:9
    |
375 |     let (_, _, perlasm_format) = ASM_TARGETS.iter().find(|entry| {
    |         ^^^^^^^^^^^^^^^^^^^^^^ help: consider using a reference: `&(_, _, perlasm_format)`

error[E0658]: non-reference pattern used to match a reference (see issue #42640)
--> /home/ash/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.2/build.rs:674:9
    |
674 |     for (src, dst) in src_dst {
    |         ^^^^^^^^^^ help: consider using a reference: `&(src, dst)`

error[E0658]: non-reference pattern used to match a reference (see issue #42640)
--> /home/ash/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.2/build.rs:737:35
    |
737 |             RING_SRCS.iter().any(|(_, f)| cmp(f)) ||
    |                                   ^^^^^^ help: consider using a reference: `&(_, f)`

error[E0658]: non-reference pattern used to match a reference (see issue #42640)
--> /home/ash/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.2/build.rs:741:35
    |
741 |             RING_SRCS.iter().any(|(_, f)| cmp(f)) ||
    |                                   ^^^^^^ help: consider using a reference: `&(_, f)`

Я пытался использовать групповую зависимость, но не смог заставить ее работать.

rustc - это версия 1.25.0
cargo - это версия 0.26.0

1 Ответ

0 голосов
/ 19 сентября 2018

Согласно странице корзины Actix-web , последняя версия (0.7.8) требует Rust версии 1.26.0 или выше.Судя по вашему сообщению об ошибке, похоже, что они используют некоторые улучшения, сделанные в эргономике сопоставления с образцом в Rust 1.26.0 .

Вы могли бы свернутьвернуться к более старой версии actix-web - версия 0.6.15, кажется, самая последняя, ​​которая работает в Rust 1.25.0.Тем не менее, вы, вероятно, столкнетесь с подобными проблемами с другими библиотеками, и я определенно рекомендую вместо этого обновить Rust, чтобы вы могли также воспользоваться преимуществами улучшений.

Самый простой способ обновить набор инструментов Rust,и держать его в курсе, это с Rustup .

...