2017-07-11 7 views
1

は、私は、次のファイル構造を使用します!は `ドキュメントを使用することはできません`マクロはMongoDBのクレートからサブサブモジュールのスコープ内

#[macro_use] 
extern crate mongodb; 

mod models; 

├── src 
│   ├── main.rs  // Macros from here 
│   ├── models 
│   │   ├── mod.rs // Loads the user.rs file 
│   │   └── user.rs // Should be visible here 
├── Cargo.toml 

main.rsファイルは次のようなものをインポート

pub struct User { 
    username: String, 
    password: String, 
} 

impl User { 
    fn create_doc() { 
     // Some code, but doc! from crate mongodb is not in this scope. 
    } 
} 

どのように私は私のを使用することができます。

user.rsファイルは次のようになります2103 user.rsファイルのマクロ?私もmod models;のようなものに#[macro_use]を追加しようとしましたが、何も働かなかった。

+0

あなたは '!doc'と言うが、マクロは' doc! 'と書かれている。これが問題ではない場合は、十分な情報を*近く*提供していません。コンパイルに失敗したコードとコンパイラの出力を確認する必要があります。 –

+0

@DK申し訳ありません。しかし私は医者を書いた!私のコードで –

答えて

0

モンゴブクレート(バージョン0.3.1)has no such macro。 mongodbの依存関係であるbson crate (version 0.9.0)はそうです。あなたはそれを宣言しそこからインポートする必要があります:

#[macro_use] 
extern crate bson; 
extern crate mongodb; 
+0

ありがとう。それについては決して考えなかった。 –

関連する問題