use anyhow::Context;
use taos_error::*;
fn main() -> anyhow::Result<()> {
#[inline(never)]
fn raise_anyhow_error() -> anyhow::Result<()> {
Err(anyhow::anyhow!("fake error string"))
}
#[inline(never)]
fn raise_anyhow_error2() -> anyhow::Result<()> {
raise_anyhow_error().context("Another error")
}
#[inline(never)]
fn raise_anyhow_error3() -> anyhow::Result<()> {
raise_anyhow_error2().context("Above error")
}
#[inline(never)]
fn raise_error() -> Result<()> {
Err(Error::new(0x001, "taosc error"))?;
raise_anyhow_error3()?;
Ok(())
}
raise_error().map_err(|err| err.context("raise error"))?;
Ok(())
}