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()); }