From 4f88bf4ae2c6cceb893a4853b2fcef2dadcb1475 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 29 Jul 2022 04:00:12 -0700 Subject: [PATCH] Eliminate repetitive line/column context from error message --- src/libyaml/error.rs | 5 ++++- tests/test_error.rs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libyaml/error.rs b/src/libyaml/error.rs index 97872bb9..68d66ba4 100644 --- a/src/libyaml/error.rs +++ b/src/libyaml/error.rs @@ -72,7 +72,10 @@ impl Display for Error { } if let Some(context) = &self.context { write!(formatter, ", {}", context)?; - if self.context_mark.sys.line != 0 || self.context_mark.sys.column != 0 { + if (self.context_mark.sys.line != 0 || self.context_mark.sys.column != 0) + && (self.context_mark.sys.line != self.problem_mark.sys.line + || self.context_mark.sys.column != self.problem_mark.sys.column) + { write!(formatter, " at {}", self.context_mark)?; } } diff --git a/tests/test_error.rs b/tests/test_error.rs index 9a3e6829..e070de8e 100644 --- a/tests/test_error.rs +++ b/tests/test_error.rs @@ -132,7 +132,7 @@ fn test_second_document_syntax_error() { let second_doc = de.next().unwrap(); let result = ::deserialize(second_doc); - let expected = "did not find expected node content at line 4 column 1, while parsing a block node at line 4 column 1"; + let expected = "did not find expected node content at line 4 column 1, while parsing a block node"; assert_eq!(expected, result.unwrap_err().to_string()); }