Skip to content

Commit 613e664

Browse files
committed
Format parse errors better
Previously the parser printed parse errors with Debug formatting, even though Display formatting is implemented and looks much better. Before: ?- load libstd.chalk ?- forall<T: Clone> { Vec<T>: Clone } error: parse error: UnrecognizedToken { token: (8, Token(17, ":"), 9), expected: ["\",\"", "\">\""] } position: `forall<T: Clone> { Vec<T>: Clone }` ^ After: ?- load libstd.chalk ?- forall<T: Clone> { Vec<T>: Clone } error: parse error: Unrecognized token `:` found at 8:9 Expected one of "," or ">" position: `forall<T: Clone> { Vec<T>: Clone }` ^
1 parent 420e937 commit 613e664

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

chalk-parse/src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ type Result<T> = std::result::Result<T, Box<dyn std::error::Error>>;
1616
pub fn parse_program(text: &str) -> Result<ast::Program> {
1717
match parser::ProgramParser::new().parse(text) {
1818
Ok(v) => Ok(v),
19-
Err(e) => Err(format!("parse error: {:?}", e))?,
19+
Err(e) => Err(format!("parse error: {}", e))?,
2020
}
2121
}
2222

2323
pub fn parse_ty(text: &str) -> Result<ast::Ty> {
2424
match parser::TyParser::new().parse(text) {
2525
Ok(v) => Ok(v),
26-
Err(e) => Err(format!("error parsing `{}`: {:?}", text, e))?,
26+
Err(e) => Err(format!("error parsing `{}`: {}", text, e))?,
2727
}
2828
}
2929

@@ -42,27 +42,27 @@ pub fn parse_goal(text: &str) -> Result<Box<ast::Goal>> {
4242
};
4343
match e {
4444
ParseError::InvalidToken { location } => Err(format!(
45-
"parse error: {:?}\n{}",
45+
"parse error: {}\n{}",
4646
e,
4747
position_string(location, location + 1)
4848
))?,
4949
ParseError::UnrecognizedToken {
5050
token: (start, _, end),
5151
..
5252
} => Err(format!(
53-
"parse error: {:?}\n{}",
53+
"parse error: {}\n{}",
5454
e,
5555
position_string(start, end)
5656
))?,
5757
ParseError::ExtraToken {
5858
token: (start, _, end),
5959
..
6060
} => Err(format!(
61-
"parse error: {:?}\n{}",
61+
"parse error: {}\n{}",
6262
e,
6363
position_string(start, end)
6464
))?,
65-
_ => Err(format!("parse error: {:?}", e))?,
65+
_ => Err(format!("parse error: {}", e))?,
6666
}
6767
}
6868
}

tests/lowering/mod.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ fn scalars() {
503503
}
504504

505505
error_msg {
506-
"parse error: UnrecognizedToken"
506+
"parse error: Unrecognizedtoken"
507507
}
508508
}
509509
}
@@ -527,7 +527,7 @@ fn raw_pointers() {
527527
struct *const i32 { }
528528
}
529529
error_msg {
530-
"parse error: UnrecognizedToken"
530+
"parse error: Unrecognizedtoken"
531531
}
532532
}
533533

@@ -537,7 +537,7 @@ fn raw_pointers() {
537537
impl Foo for *i32 { }
538538
}
539539
error_msg {
540-
"parse error: UnrecognizedToken"
540+
"parse error: Unrecognizedtoken"
541541
}
542542
}
543543
}
@@ -561,7 +561,7 @@ fn refs() {
561561
}
562562

563563
error_msg {
564-
"parse error: UnrecognizedToken"
564+
"parse error: Unrecognizedtoken"
565565
}
566566
}
567567
}
@@ -587,7 +587,7 @@ fn slices() {
587587
}
588588

589589
error_msg {
590-
"parse error: UnrecognizedToken"
590+
"parse error: Unrecognizedtoken"
591591
}
592592
}
593593
}
@@ -635,7 +635,7 @@ fn arrays() {
635635
}
636636

637637
error_msg {
638-
"parse error: UnrecognizedToken"
638+
"parse error: Unrecognizedtoken"
639639
}
640640
}
641641

@@ -659,7 +659,7 @@ fn arrays() {
659659
}
660660

661661
error_msg {
662-
"parse error: UnrecognizedToken"
662+
"parse error: Unrecognizedtoken"
663663
}
664664
}
665665
}

0 commit comments

Comments
 (0)