small-db 0.4.0

A small database writing in rust, inspired from mit 6.830
Documentation
use std::{error::Error, fmt};

use backtrace::Backtrace;

#[derive(Debug)]
pub struct SmallError {
    details: String,
}

impl SmallError {
    pub fn new(msg: &str) -> SmallError {
        // panic!("msg: [{}]", msg);

        let bt = Backtrace::new();
        // error!("msg: [{}], backtrace: {:?}", msg, bt);

        let details = format!("msg: [{}], backtrace: {:?}", msg, bt);

        // let details = "abc\n123".to_string();

        SmallError { details }
    }
}

impl fmt::Display for SmallError {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.details)
    }
}

impl Error for SmallError {
    fn description(&self) -> &str {
        &self.details
    }
}