Ржавчина: не могу найти макрос - PullRequest
1 голос
/ 10 ноября 2019

Я пытаюсь запустить код ржавчины из документации postgres_types.

Пример кода можно найти здесь: postgres_types

моя среда ржавчины:

груз - версия груза 1.40.0-nightly (5da4b4d47 2019-10-28)

rustc - версия rustc 1.40.0-nightly (b520af6fd 2019-11-03)


main.rs

#[cfg(feature = "derive")]
use postgres_types::{ToSql, FromSql};

#[derive(Debug, ToSql, FromSql)]
enum Mood {
    Sad,
    Ok,
    Happy,
}

fn main() {
    let mood = Mood::Sad;

    println!("{:?}", mood);
}

Cargo.toml

...

[dependencies]
postgres-types = "0.1.0-alpha.1"

Когда я пытаюсь запустить с cargo run Я получаю:

error: cannot find derive macro `ToSql` in this scope
 --> src\main.rs:4:17
  |
4 | #[derive(Debug, ToSql, FromSql)]
  |                 ^^^^^

error: cannot find derive macro `FromSql` in this scope
 --> src\main.rs:4:24
  |
4 | #[derive(Debug, ToSql, FromSql)]
  |                        ^^^^^^^

Что я здесь не так делаю? Очевидно, я упускаю что-то основное. Правильно ли я импортировал макрос?

1 Ответ

2 голосов
/ 10 ноября 2019

Цитирование из документации,

Если включена функция derive cargo, вы можете получить реализации ToSql и FromSql для пользовательских типов Postgres.

Чтобы включитьderive функция, вам нужно поместить это в Cargo.toml:

[dependencies]
postgres-types = {version = "0.1.0-alpha.1", features = ["derive"]}
...