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
重新导出的版本。