Wenn Sie eine Eigenschaft implementieren, muss entweder die Eigenschaft oder der Typ, für den Sie sie implementieren, in derselben Kiste definiert werden. In Ihrem Beispiel ist das nicht der Fall:das Trait Responder
wird durch nickel
definiert und Result
wird durch mongodb
definiert .
Der übliche Weg, dies zu umgehen, besteht darin, Ihren eigenen Typ zu definieren, indem Sie den gewünschten Typ in eine Tupelstruktur mit einer einzigen Komponente einschließen (das sogenannte Newtype-Muster ):
struct Result(mongodb::error::Result<Option<Document>>);
impl Responder for Result {
...