baoyachi / duration-str

duration string parser write by Rust.Playground:
https://baoyachi.github.io/duration-str/
30 stars 9 forks source link

Error display is relatively blurry and not precise enough #33

Closed baoyachi closed 2 months ago

baoyachi commented 2 months ago
baoyachi commented 2 months ago
//TODO lost cause, need fix
        let err = format!("{}", parse("3ms-2ms").err().unwrap());
        assert_eq!(err, r#"
3ms-2ms
   ^
partial_input:`-2ms`,error Eof"#.trim());
baoyachi commented 2 months ago

now, support precise error reporting.

use duration_str::parse;

fn main() {
    let err = format!("{}", parse("3ms-2ms").err().unwrap());
    assert_eq!(err, r#"
3ms-2ms
   ^
partial_input:-2ms, expect one of:["+", "*"], but find:-2ms"#.trim());
}