Import 锈蚀:找不到宏

Import 锈蚀:找不到宏,import,rust,macros,rust-macros,Import,Rust,Macros,Rust Macros,我正在尝试运行postgres\u类型文档中的rust代码 示例代码可在此处找到: 我的环境: 货物版本 货运1.40.0-每晚(5da4b4d47 2019-10-28) rustc——版本 rustc 1.40.0-每晚(b520af6fd 2019-11-03) 梅因 #[cfg(feature = "derive")] use postgres_types::{ToSql, FromSql}; #[derive(Debug, ToSql, FromSql)] enum Mood {

我正在尝试运行
postgres\u类型
文档中的rust代码

示例代码可在此处找到:

我的环境:

货物版本 货运1.40.0-每晚(5da4b4d47 2019-10-28)

rustc——版本 rustc 1.40.0-每晚(b520af6fd 2019-11-03)


梅因

#[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);
}

货舱

...

[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)]
  |                        ^^^^^^^

我做错了什么?很明显,我缺少一些基本的东西。我没有正确导入宏吗?

引用文档中的内容

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

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

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

谢谢,我根据需要更新了依赖项,并从main.rs中删除了
#[cfg(feature=“deriver”)]
,它成功了!这很好,它的工作,但我承认我不完全理解的问题mechanism@JamesSchinner您可以在中了解有关功能的更多信息。要补充此答案,请确保随后从
postgres\u类型导入
FromSql
ToSql
:{FromSql,ToSql}而不是从
postgresql
重新导出的版本。