diff options
Diffstat (limited to 'crates/ra_hir/src/lib.rs')
-rw-r--r-- | crates/ra_hir/src/lib.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_hir/src/lib.rs b/crates/ra_hir/src/lib.rs index 2fe1a658e..639e97c3d 100644 --- a/crates/ra_hir/src/lib.rs +++ b/crates/ra_hir/src/lib.rs | |||
@@ -8,13 +8,20 @@ | |||
8 | //! applied. So, the relation between syntax and HIR is many-to-one. | 8 | //! applied. So, the relation between syntax and HIR is many-to-one. |
9 | 9 | ||
10 | macro_rules! impl_froms { | 10 | macro_rules! impl_froms { |
11 | ($e:ident: $($v:ident),*) => { | 11 | ($e:ident: $($v:ident $(($($sv:ident),*))?),*) => { |
12 | $( | 12 | $( |
13 | impl From<$v> for $e { | 13 | impl From<$v> for $e { |
14 | fn from(it: $v) -> $e { | 14 | fn from(it: $v) -> $e { |
15 | $e::$v(it) | 15 | $e::$v(it) |
16 | } | 16 | } |
17 | } | 17 | } |
18 | $($( | ||
19 | impl From<$sv> for $e { | ||
20 | fn from(it: $sv) -> $e { | ||
21 | $e::$v($v::$sv(it)) | ||
22 | } | ||
23 | } | ||
24 | )*)? | ||
18 | )* | 25 | )* |
19 | } | 26 | } |
20 | } | 27 | } |