195
195
//! To have `serde::{Serialize, Deserialize}` implemented on Throw types, depend on throw with
196
196
//! `features = ["serde-1-std"]` or `features = ["serde-1"]` for no-std environments.
197
197
198
+ #[ cfg( not( feature = "std" ) ) ]
199
+ #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , macro_use) ]
200
+ extern crate alloc;
201
+
202
+ #[ cfg( any( feature = "serde-1" , feature = "serde-1-std" ) ) ]
203
+ extern crate serde;
204
+ #[ cfg( any( feature = "serde-1" , feature = "serde-1-std" ) ) ]
205
+ #[ macro_use]
206
+ extern crate serde_derive;
207
+
198
208
#[ cfg( feature = "std" ) ]
199
209
mod core {
200
210
pub use std:: fmt;
@@ -204,27 +214,23 @@ mod core {
204
214
use core:: fmt;
205
215
206
216
#[ cfg( not( feature = "std" ) ) ]
207
- #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , macro_use) ]
208
- extern crate alloc;
209
-
217
+ use alloc:: string:: String ;
210
218
#[ cfg( not( feature = "std" ) ) ]
211
219
use alloc:: vec:: Vec ;
212
- #[ cfg( not( feature = "std" ) ) ]
213
- use alloc:: string:: String ;
214
-
215
- #[ cfg( any( feature = "serde-1" , feature = "serde-1-std" ) ) ]
216
- extern crate serde;
217
- #[ cfg( any( feature = "serde-1" , feature = "serde-1-std" ) ) ]
218
- #[ macro_use]
219
- extern crate serde_derive;
220
220
221
221
#[ cfg( any( feature = "serde-1" , feature = "serde-1-std" ) ) ]
222
222
use serde:: ser:: { Serialize , SerializeStruct , Serializer } ;
223
223
224
224
/// Types allowed to be value in the context vector
225
225
#[ derive( Debug , Clone ) ]
226
- #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , derive( Serialize ) ) ]
227
- #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , serde( untagged) ) ]
226
+ #[ cfg_attr(
227
+ any( feature = "serde-1" , feature = "serde-1-std" ) ,
228
+ derive( Serialize )
229
+ ) ]
230
+ #[ cfg_attr(
231
+ any( feature = "serde-1" , feature = "serde-1-std" ) ,
232
+ serde( untagged)
233
+ ) ]
228
234
pub enum ThrowContextValues {
229
235
///Boolean
230
236
Bool ( bool ) ,
@@ -351,7 +357,10 @@ pub type Result<T, E> = core::result::Result<T, Error<E>>;
351
357
352
358
/// Represents a location at which an error was thrown via throw!()
353
359
#[ derive( Debug ) ]
354
- #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , derive( Serialize ) ) ]
360
+ #[ cfg_attr(
361
+ any( feature = "serde-1" , feature = "serde-1-std" ) ,
362
+ derive( Serialize )
363
+ ) ]
355
364
pub struct ErrorPoint {
356
365
line : u32 ,
357
366
column : u32 ,
@@ -402,7 +411,10 @@ impl ErrorPoint {
402
411
403
412
/// represent a key-value pair
404
413
#[ derive( Debug , Clone ) ]
405
- #[ cfg_attr( any( feature = "serde-1" , feature = "serde-1-std" ) , derive( Serialize ) ) ]
414
+ #[ cfg_attr(
415
+ any( feature = "serde-1" , feature = "serde-1-std" ) ,
416
+ derive( Serialize )
417
+ ) ]
406
418
pub struct KvPair {
407
419
key : & ' static str ,
408
420
value : ThrowContextValues ,
@@ -599,13 +611,13 @@ macro_rules! up {
599
611
return Err ( me) ;
600
612
} ,
601
613
}
602
- )
614
+ ) ;
603
615
}
604
616
605
617
#[ doc( hidden) ]
606
618
#[ macro_export]
607
619
macro_rules! __with_new_errorpoint {
608
- ( $e: expr) => ( {
620
+ ( $e: expr) => { {
609
621
let mut e = $e;
610
622
e. __push_point( $crate:: ErrorPoint :: __construct(
611
623
line!( ) ,
@@ -614,7 +626,7 @@ macro_rules! __with_new_errorpoint {
614
626
file!( ) ,
615
627
) ) ;
616
628
e
617
- } )
629
+ } } ;
618
630
}
619
631
620
632
#[ macro_export]
@@ -625,27 +637,24 @@ macro_rules! throw {
625
637
Err ( e) => throw_new!( e) ,
626
638
}
627
639
) ;
628
-
629
- ( $e: expr, $( $key: expr => $value: expr) ,+ $( , ) * ) => ( {
640
+ ( $e: expr, $( $key: expr => $value: expr) ,+ $( , ) * ) => ( {
630
641
match $e {
631
642
Ok ( v) => v,
632
643
Err ( e) => throw_new!( e, $( $key => $value, ) * ) ,
633
644
}
634
- } )
645
+ } ) ;
635
646
}
636
647
637
648
#[ macro_export]
638
649
macro_rules! throw_new {
639
- ( $e: expr) => ( {
650
+ ( $e: expr) => ( {
640
651
return Err ( __with_new_errorpoint!( $crate:: Error :: new( $e. into( ) ) ) ) ;
641
652
} ) ;
642
-
643
- ( $e: expr, $( $key: expr => $value: expr) ,+ $( , ) * ) => ( {
653
+ ( $e: expr, $( $key: expr => $value: expr) ,+ $( , ) * ) => ( {
644
654
let mut me = $crate:: Error :: new( $e. into( ) ) ;
645
655
$(
646
656
me. add_context( $key, $value) ;
647
657
) *
648
658
return Err ( __with_new_errorpoint!( me) ) ;
649
-
650
- } )
659
+ } ) ;
651
660
}
0 commit comments