@ -17,7 +17,7 @@ impl<'a> List<'a> {
impl < 'a > Symbol for List < 'a > {
impl < 'a > Symbol for List < 'a > {
fn target_reached ( & self ) -> Result < bool , Box < dyn Error > > {
fn target_reached ( & self ) -> Result < bool , Box < dyn Error > > {
for symbol in & self . symbols {
for symbol in & self . symbols {
if ! try ! ( symbol . target_reached ( ) ) {
if ! symbol . target_reached ( ) ? {
return Ok ( false ) ;
return Ok ( false ) ;
}
}
}
}
@ -26,7 +26,7 @@ impl<'a> Symbol for List<'a> {
fn execute ( & self ) -> Result < ( ) , Box < dyn Error > > {
fn execute ( & self ) -> Result < ( ) , Box < dyn Error > > {
for symbol in & self . symbols {
for symbol in & self . symbols {
try ! ( symbol . execute ( ) ) ;
symbol . execute ( ) ? ;
}
}
Ok ( ( ) )
Ok ( ( ) )
}
}
@ -87,73 +87,64 @@ impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol> From<(A, B, C)> for Lis
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol > From < ( A , B , C , D ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol > From < ( A , B , C , D ) > for List < 'a > {
fn from ( ( a , b , c , d ) : ( A , B , C , D ) ) -> Self {
fn from ( ( a , b , c , d ) : ( A , B , C , D ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol > From < ( A , B , C , D , E ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol > From < ( A , B , C , D , E ) > for List < 'a > {
fn from ( ( a , b , c , d , e ) : ( A , B , C , D , E ) ) -> Self {
fn from ( ( a , b , c , d , e ) : ( A , B , C , D , E ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol > From < ( A , B , C , D , E , F ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol > From < ( A , B , C , D , E , F ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f ) : ( A , B , C , D , E , F ) ) -> Self {
fn from ( ( a , b , c , d , e , f ) : ( A , B , C , D , E , F ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol > From < ( A , B , C , D , E , F , G ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol > From < ( A , B , C , D , E , F , G ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g ) : ( A , B , C , D , E , F , G ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g ) : ( A , B , C , D , E , F , G ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol > From < ( A , B , C , D , E , F , G , H ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol > From < ( A , B , C , D , E , F , G , H ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g , h ) : ( A , B , C , D , E , F , G , H ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g , h ) : ( A , B , C , D , E , F , G , H ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k ) : ( A , B , C , D , E , F , G , H , I , J , K ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k ) : ( A , B , C , D , E , F , G , H , I , J , K ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l ) : ( A , B , C , D , E , F , G , H , I , J , K , L ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l ) : ( A , B , C , D , E , F , G , H , I , J , K , L ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol , M : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L , M ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol , M : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L , M ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l , m ) : ( A , B , C , D , E , F , G , H , I , J , K , L , M ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l , m ) : ( A , B , C , D , E , F , G , H , I , J , K , L , M ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) , Box ::new ( m ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) , Box ::new ( m ) ] )
}
}
}
}
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol , M : 'a + Symbol , N : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) >
for List < 'a >
{
#[ rustfmt::skip ]
impl < 'a , A : 'a + Symbol , B : 'a + Symbol , C : 'a + Symbol , D : 'a + Symbol , E : 'a + Symbol , F : 'a + Symbol , G : 'a + Symbol , H : 'a + Symbol , I : 'a + Symbol , J : 'a + Symbol , K : 'a + Symbol , L : 'a + Symbol , M : 'a + Symbol , N : 'a + Symbol > From < ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) > for List < 'a > {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l , m , n ) : ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) ) -> Self {
fn from ( ( a , b , c , d , e , f , g , h , i , j , k , l , m , n ) : ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) ) -> Self {
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) , Box ::new ( m ) , Box ::new ( n ) ] )
Self ::new ( vec ! [ Box ::new ( a ) , Box ::new ( b ) , Box ::new ( c ) , Box ::new ( d ) , Box ::new ( e ) , Box ::new ( f ) , Box ::new ( g ) , Box ::new ( h ) , Box ::new ( i ) , Box ::new ( j ) , Box ::new ( k ) , Box ::new ( l ) , Box ::new ( m ) , Box ::new ( n ) ] )
}
}
@ -173,7 +164,7 @@ impl<'a> SymbolListAction<'a> {
impl < 'a > Action for SymbolListAction < 'a > {
impl < 'a > Action for SymbolListAction < 'a > {
fn run ( & self ) -> Result < ( ) , Box < dyn Error > > {
fn run ( & self ) -> Result < ( ) , Box < dyn Error > > {
for symbol in self . symbols {
for symbol in self . symbols {
try ! ( symbol . as_action ( self . runner ) . run ( ) ) ;
symbol . as_action ( self . runner ) . run ( ) ? ;
}
}
Ok ( ( ) )
Ok ( ( ) )
}
}
@ -192,7 +183,7 @@ impl<'a> ListAction<'a> {
impl < 'a > Action for ListAction < 'a > {
impl < 'a > Action for ListAction < 'a > {
fn run ( & self ) -> Result < ( ) , Box < dyn Error > > {
fn run ( & self ) -> Result < ( ) , Box < dyn Error > > {
for action in & self . actions {
for action in & self . actions {
try ! ( action . run ( ) ) ;
action . run ( ) ? ;
}
}
Ok ( ( ) )
Ok ( ( ) )
}
}
@ -200,9 +191,9 @@ impl<'a> Action for ListAction<'a> {
impl < 'a > fmt ::Display for List < 'a > {
impl < 'a > fmt ::Display for List < 'a > {
fn fmt ( & self , f : & mut fmt ::Formatter ) -> Result < ( ) , fmt ::Error > {
fn fmt ( & self , f : & mut fmt ::Formatter ) -> Result < ( ) , fmt ::Error > {
try ! ( write ! ( f , "List [ " ) ) ;
write ! ( f , "List [ " ) ? ;
for symbol in & self . symbols {
for symbol in & self . symbols {
try ! ( write ! ( f , "{} " , symbol ) ) ;
write ! ( f , "{} " , symbol ) ? ;
}
}
write ! ( f , "]" )
write ! ( f , "]" )
}
}