3

我正在尝试从postgres_types文档中运行 rust 代码。

示例代码可以在这里找到:postgres_types

我的生锈环境:

cargo --version cargo 1.40.0-nightly (5da4b4d47 2019-10-28)

rustc --version 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);
}

货运.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)]
  |                        ^^^^^^^

我在这里做错了什么?显然我缺少一些基本的东西。我没有正确导入宏吗?

4

1 回答 1

6

从文档中引用,

如果启用了derivecargo 功能,您可以为自定义 Postgres 类型派生 ToSql 和 FromSql 实现。

要启用该derive功能,您需要将其放入Cargo.toml

[dependencies]
postgres-types = {version = "0.1.0-alpha.1", features = ["derive"]}
于 2019-11-10T02:55:00.957 回答