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 {
...