Kiedy wdrażasz cechę, albo cecha, albo typ, dla którego ją wdrażasz, musi być zdefiniowany w tej samej skrzynce. W twoim przykładzie tak nie jest:cecha Responder jest zdefiniowany przez nickel i Result jest zdefiniowany przez mongodb .
Najczęstszym sposobem obejścia tego jest zdefiniowanie własnego typu poprzez zawinięcie żądanego typu w strukturę krotki z pojedynczym komponentem (tzw. wzorzec newtype ):
struct Result(mongodb::error::Result<Option<Document>>);
impl Responder for Result {
...