diff options
| -rw-r--r-- | src/document_tree/element_categories.rs | 14 | 
1 files changed, 5 insertions, 9 deletions
| diff --git a/src/document_tree/element_categories.rs b/src/document_tree/element_categories.rs index 5d0cecf..df291cf 100644 --- a/src/document_tree/element_categories.rs +++ b/src/document_tree/element_categories.rs @@ -21,13 +21,13 @@ pub trait HasChildren<C> {  }  macro_rules! impl_into { -	([ $( ($subentry:tt, $supcat:tt), )+ ]) => { -		$( impl_into!($subentry => $supcat); )+ +	([ $( (($subcat:ident :: $entry:ident), $supcat:ident), )+ ]) => { +		$( impl_into!($subcat::$entry => $supcat); )+  	}; -	( ($subcat:ident :: $entry:ident) => $supcat:ident ) => { +	($subcat:ident :: $entry:ident => $supcat:ident ) => {  		impl Into<$supcat> for $entry {  			fn into(self) -> $supcat { -				$supcat::$subcat($subcat::$entry(self)) +				$supcat::$subcat(self.into())  			}  		}  	}; @@ -36,11 +36,7 @@ macro_rules! impl_into {  macro_rules! synonymous_enum {  	( $subcat:ident : $($supcat:ident),+ ; $midcat:ident : $supsupcat:ident { $($entry:ident),+ $(,)* } ) => {  		synonymous_enum!($subcat : $( $supcat ),+ , $midcat { $($entry,)* }); -		$( impl Into<$supsupcat> for $entry { -			fn into(self) -> $supsupcat { -				$supsupcat::$midcat($midcat::$subcat($subcat::$entry(self))) -			} -		} )+ +		$( impl_into!($midcat::$entry => $supsupcat); )+  	};  	( $subcat:ident : $($supcat:ident),+ { $($entry:ident),+ $(,)* } ) => {  		synonymous_enum!($subcat { $( $entry, )* }); | 
