Quando você implementa uma característica, a característica ou o tipo para o qual você a está implementando deve ser definido na mesma caixa. No seu exemplo, esse não é o caso:a característica
Responder
é definido por nickel
e Result
é definido por mongodb
. A maneira comum de contornar isso é definir seu próprio tipo, envolvendo o tipo desejado em uma estrutura de tupla com um único componente (o chamado padrão newtype ):
struct Result(mongodb::error::Result<Option<Document>>);
impl Responder for Result {
...