Как скомпилировать русклит 0.20.0 с грузом - PullRequest
1 голос
/ 17 октября 2019

Я пытаюсь добавить поддержку sqlite в мой проект ржавчины. Я нашел руссклит на crates.io. Я добавил строку версии в Cargo.toml. Я добавил некоторые импорта (неиспользованные), которые я нашел на странице документов rusqlite . После запуска автомобиля go build я обнаружил ошибку.

Я еще ничего не реализовал. Я просто хотел добавить зависимость и компилировать. main.rs:

extern crate rusqlite;

use rusqlite::{Connection, Result};
use rusqlite::NO_PARAMS;

Cargo.toml:

[package]
name = "program"
version = "0.1.0"
authors = ["97"]

[dependencies]
argparse = "0.2.2"
rand = "0.4.0"
rusqlite = "0.20.0"

Ошибка получена:

$ cargo build
   Compiling pkg-config v0.3.16
   Compiling fallible-iterator v0.2.0
   Compiling memchr v2.2.1
   Compiling bitflags v1.2.1
   Compiling lru-cache v0.1.2
error[E0432]: unresolved import `std::ops::Bound`
  --> /home/seamus/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.16/src/lib.rs:72:16
   |
72 | use std::ops::{Bound, RangeBounds};
   |                ^^^^^ no `Bound` in `ops`

error[E0432]: unresolved import `std::ops::RangeBounds`
  --> /home/seamus/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.16/src/lib.rs:72:23
   |
72 | use std::ops::{Bound, RangeBounds};
   |                       ^^^^^^^^^^^ no `RangeBounds` in `ops`

error[E0658]: `dyn Trait` syntax is unstable (see issue #44662)
   --> /home/seamus/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.16/src/lib.rs:143:32
    |
143 |     fn cause(&self) -> Option<&dyn error::Error> {
    |                                ^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

error: Could not compile `pkg-config`.
warning: build failed, waiting for other jobs to finish...
error[E0658]: `crate` in paths is experimental (see issue #45477)
  --> /home/seamus/.cargo/registry/src/github.com-1ecc6299db9ec823/fallible-iterator-0.2.0/src/lib.rs:98:5
   |
98 | use crate::imports::*;
   |     ^^^^^

error[E0658]: `dyn Trait` syntax is unstable (see issue #44662)
    --> /home/seamus/.cargo/registry/src/github.com-1ecc6299db9ec823/fallible-iterator-0.2.0/src/lib.rs:2606:24
     |
2606 | fn _is_object_safe(_: &dyn DoubleEndedFallibleIterator<Item = (), Error = ()>) {}
     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

error: Could not compile `fallible-iterator`.
warning: build failed, waiting for other jobs to finish...
error: build failed

Редактировать

груз 0,26,0 (41480f5cc 2018-02-26)

rustc 1,25,0 (84203cac6 2018-03-25)

1 Ответ

0 голосов
/ 01 ноября 2019

Большинство ящиков поддерживают только последнюю версию Rust. Вы можете попробовать использовать более старую версию ящика, но самый простой способ - обновить Rust до текущей поддерживаемой версии.

Если вы используете Rust из дистрибутива Linux, удалите его и получите из https://rustup.rs, что может поддерживать его в актуальном состоянии. Экосистема Rust движется намного быстрее, чем большинство дистрибутивов.

Запуск rustup update.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...