diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-05-29 08:34:12 +0100 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-05-29 08:34:12 +0100 |
commit | 9eef546ca2f59d0ebc0e5dc443fc1a5d93926030 (patch) | |
tree | 5b638f3e88a9fb7e2e5286a4d55e7450993beb30 /crates/ra_syntax/src | |
parent | 7a1cae59acf72f821343b2ba10ef69fb92a5b952 (diff) | |
parent | a6f1b171bc56621759f6421fa662cb4f4584bb45 (diff) |
Merge #1339
1339: flip Into to From r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_syntax/src')
-rw-r--r-- | crates/ra_syntax/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/ra_syntax/src/syntax_error.rs | 23 |
2 files changed, 17 insertions, 8 deletions
diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 930a643b7..8c0ba6f2d 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs | |||
@@ -76,7 +76,7 @@ impl Parse { | |||
76 | pub fn debug_dump(&self) -> String { | 76 | pub fn debug_dump(&self) -> String { |
77 | let mut buf = self.tree.syntax().debug_dump(); | 77 | let mut buf = self.tree.syntax().debug_dump(); |
78 | for err in self.errors.iter() { | 78 | for err in self.errors.iter() { |
79 | writeln!(buf, "err: `{}`", err).unwrap(); | 79 | writeln!(buf, "error {:?}: {}", err.location(), err.kind()).unwrap(); |
80 | } | 80 | } |
81 | buf | 81 | buf |
82 | } | 82 | } |
diff --git a/crates/ra_syntax/src/syntax_error.rs b/crates/ra_syntax/src/syntax_error.rs index 27e12293b..d29c0cf6c 100644 --- a/crates/ra_syntax/src/syntax_error.rs +++ b/crates/ra_syntax/src/syntax_error.rs | |||
@@ -13,21 +13,30 @@ pub struct SyntaxError { | |||
13 | location: Location, | 13 | location: Location, |
14 | } | 14 | } |
15 | 15 | ||
16 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 16 | #[derive(Clone, PartialEq, Eq, Hash)] |
17 | pub enum Location { | 17 | pub enum Location { |
18 | Offset(TextUnit), | 18 | Offset(TextUnit), |
19 | Range(TextRange), | 19 | Range(TextRange), |
20 | } | 20 | } |
21 | 21 | ||
22 | impl Into<Location> for TextUnit { | 22 | impl From<TextUnit> for Location { |
23 | fn into(self) -> Location { | 23 | fn from(offset: TextUnit) -> Location { |
24 | Location::Offset(self) | 24 | Location::Offset(offset) |
25 | } | ||
26 | } | ||
27 | |||
28 | impl From<TextRange> for Location { | ||
29 | fn from(range: TextRange) -> Location { | ||
30 | Location::Range(range) | ||
25 | } | 31 | } |
26 | } | 32 | } |
27 | 33 | ||
28 | impl Into<Location> for TextRange { | 34 | impl fmt::Debug for Location { |
29 | fn into(self) -> Location { | 35 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
30 | Location::Range(self) | 36 | match self { |
37 | Location::Offset(it) => fmt::Debug::fmt(it, f), | ||
38 | Location::Range(it) => fmt::Debug::fmt(it, f), | ||
39 | } | ||
31 | } | 40 | } |
32 | } | 41 | } |
33 | 42 | ||