Rust error handle: get AnkiError as a from error

I wrote a custom sync server in Rust which will need to use anki/rslib and want to use crate thiserror to perform errror handling.I wish AnkiError behaves like std::io::Error …yet it seems i missed some trait bounds How should i do?Any thought would be appreciated!code is as follows

use thiserror::Error;
#[derive(Error, Debug)]
pub enum ApplicationError {
    #[error("Sqlite error: {0}")]
    Sqlite(#[from] rusqlite::Error),
    #[error("IO error: {0}")]
    IO(#[from] std::io::Error),

    #[error("Anki lib error: {0}")]
    AnkiError(#[from] anki::error::AnkiError ),

error message:

the method `as_dyn_error` exists for reference `&AnkiError`, but its trait bounds were not satisfied
the following trait bounds were not satisfied:
`AnkiError: StdError`
which is required by `AnkiError: AsDynError`
`&AnkiError: StdError`
which is required by `&AnkiError: AsDynError`rustcE0599
mod.rs(22, 1): doesn't satisfy `AnkiError: AsDynError`
mod.rs(22, 1): doesn't satisfy `AnkiError: StdError`

I believe it’s telling you that AnkiError doesn’t implement the Error trait. Changing that is probably not hard; happy to accept a PR if it does not end up requiring large changes.