Mercurial > lbo > hg > leveldb-rs
changeset 577:66ea37471d22
Fix stack overflow when displaying Status
Fixes #15
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 20 Aug 2022 09:41:04 +0200 |
parents | 679c163d1259 |
children | 4276ae011066 |
files | src/error.rs |
diffstat | 1 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/error.rs Wed Jul 20 12:39:45 2022 -0700 +++ b/src/error.rs Sat Aug 20 09:41:04 2022 +0200 @@ -47,7 +47,7 @@ impl Display for Status { fn fmt(&self, fmt: &mut Formatter) -> result::Result<(), fmt::Error> { - fmt.write_str(&self.to_string()) + fmt.write_str(&self.err) } } @@ -68,7 +68,10 @@ Status { code, err } } pub fn annotate<S: AsRef<str>>(self, msg: S) -> Status { - Status { code: self.code, err: format!("{}: {}", msg.as_ref(), self.err) } + Status { + code: self.code, + err: format!("{}: {}", msg.as_ref(), self.err), + } } } @@ -108,3 +111,13 @@ } } } + +#[cfg(test)] +mod tests { + use super::{StatusCode, Status}; + #[test] + fn test_status_to_string() { + let s = Status::new(StatusCode::InvalidData, "Invalid data!"); + assert_eq!("InvalidData: Invalid data!", s.to_string()); + } +}