macro_rules! impl_outer_origin {
    (
		$(#[$attr:meta])*
		pub enum $name:ident for $runtime:ident {
			$( $rest_without_system:tt )*
		}
	) => { ... };
    (
		$(#[$attr:meta])*
		pub enum $name:ident for $runtime:ident where
			system = $system:ident
			$(, system_index = $system_index:tt)?
		{
			$( $rest_with_system:tt )*
		}
	) => { ... };
    (
		$(#[$attr:meta])*;
		$name:ident;
		$caller_name:ident;
		$runtime:ident;
		$system:ident;
		system_index { $( $system_index:tt )? };
		Modules {
			$( #[codec(index = $index:tt)] )? $module:ident $instance:ident <T>
			$(, $( $rest_module:tt )* )?
		};
		$( $parsed:tt )*
	) => { ... };
    (
		$(#[$attr:meta])*;
		$name:ident;
		$caller_name:ident;
		$runtime:ident;
		$system:ident;
		system_index { $( $system_index:tt )? };
		Modules {
			$( #[codec(index = $index:tt )] )? $module:ident $instance:ident
			$(, $rest_module:tt )*
		};
		$( $parsed:tt )*
	) => { ... };
    (
		$(#[$attr:meta])*;
		$name:ident;
		$caller_name:ident;
		$runtime:ident;
		$system:ident;
		system_index { $( $system_index:tt )? };
		Modules {
			$( #[codec(index = $index:tt )] )? $module:ident <T>
			$(, $( $rest_module:tt )* )?
		};
		$( $parsed:tt )*
	) => { ... };
    (
		$(#[$attr:meta])*;
		$name:ident;
		$caller_name:ident;
		$runtime:ident;
		$system:ident;
		system_index { $( $system_index:tt )? };
		Modules {
			$( #[codec(index = $index:tt )] )? $module:ident
			$(, $( $rest_module:tt )* )?
		};
		$( $parsed:tt )*
	) => { ... };
    (
		$(#[$attr:meta])*;
		$name:ident;
		$caller_name:ident;
		$runtime:ident;
		$system:ident;
		system_index { $( $system_index:tt )? };
		Modules { };
		$(
			$module:ident
			$( < $generic:ident > )?
			$( { $generic_instance:ident } )?
			index { $( $index:tt )? },
		)*
	) => { ... };
}
Expand description

Constructs an Origin type for a runtime. This is usually called automatically by the construct_runtime macro. See also __create_decl_macro.