@@ -809,30 +809,49 @@ pub fn std_macros() -> @str {
809
809
810
810
macro_rules! ignore ( ( $( $x: tt) * ) => ( ( ) ) )
811
811
812
- macro_rules! log(
813
- ( $lvl: expr, $arg: expr) => ( {
814
- let lvl = $lvl;
815
- if lvl <= __log_level( ) {
816
- format_args!( |args| {
817
- :: std:: logging:: log( lvl, args)
818
- } , \"{ } \" , fmt!( \" %?\" , $arg) )
819
- }
820
- } ) ;
821
- ( $lvl: expr, $( $arg: expr) ,+) => ( {
822
- let lvl = $lvl;
823
- if lvl <= __log_level( ) {
824
- format_args!( |args| {
825
- :: std:: logging:: log( lvl, args)
826
- } , \"{ } \" , fmt!( $( $arg) ,+) )
827
- }
828
- } )
829
- )
830
- macro_rules! error( ( $( $arg: tt) * ) => ( log!( 1u32 , $( $arg) * ) ) )
831
- macro_rules! warn ( ( $( $arg: tt) * ) => ( log!( 2u32 , $( $arg) * ) ) )
832
- macro_rules! info ( ( $( $arg: tt) * ) => ( log!( 3u32 , $( $arg) * ) ) )
833
- macro_rules! debug( ( $( $arg: tt) * ) => (
834
- if cfg!( not( ndebug) ) { log!( 4u32 , $( $arg) * ) }
835
- ) )
812
+ #[ cfg( not( nofmt) ) ]
813
+ mod fmt_extension {
814
+ #[ macro_escape] ;
815
+
816
+ macro_rules! fmt( ( $( $arg: tt) * ) => ( oldfmt!( $( $arg) * ) ) )
817
+
818
+ macro_rules! log(
819
+ ( $lvl: expr, $arg: expr) => ( {
820
+ let lvl = $lvl;
821
+ if lvl <= __log_level( ) {
822
+ format_args!( |args| {
823
+ :: std:: logging:: log( lvl, args)
824
+ } , \"{ } \" , fmt!( \" %?\" , $arg) )
825
+ }
826
+ } ) ;
827
+ ( $lvl: expr, $( $arg: expr) ,+) => ( {
828
+ let lvl = $lvl;
829
+ if lvl <= __log_level( ) {
830
+ format_args!( |args| {
831
+ :: std:: logging:: log( lvl, args)
832
+ } , \"{ } \" , fmt!( $( $arg) ,+) )
833
+ }
834
+ } )
835
+ )
836
+ macro_rules! error( ( $( $arg: tt) * ) => ( log!( 1u32 , $( $arg) * ) ) )
837
+ macro_rules! warn ( ( $( $arg: tt) * ) => ( log!( 2u32 , $( $arg) * ) ) )
838
+ macro_rules! info ( ( $( $arg: tt) * ) => ( log!( 3u32 , $( $arg) * ) ) )
839
+ macro_rules! debug( ( $( $arg: tt) * ) => (
840
+ if cfg!( not( ndebug) ) { log!( 4u32 , $( $arg) * ) }
841
+ ) )
842
+
843
+ macro_rules! fail(
844
+ ( ) => (
845
+ fail!( \" explicit failure\" )
846
+ ) ;
847
+ ( $msg: expr) => (
848
+ :: std:: sys:: FailWithCause :: fail_with( $msg, file!( ) , line!( ) )
849
+ ) ;
850
+ ( $( $arg: expr ) ,+) => (
851
+ :: std:: sys:: FailWithCause :: fail_with( fmt!( $( $arg) ,+ ) , file!( ) , line!( ) )
852
+ )
853
+ )
854
+ }
836
855
837
856
macro_rules! log2(
838
857
( $lvl: expr, $( $arg: tt) +) => ( {
@@ -851,24 +870,15 @@ pub fn std_macros() -> @str {
851
870
if cfg!( not( ndebug) ) { log2!( 4u32 , $( $arg) * ) }
852
871
) )
853
872
854
- macro_rules! fail(
855
- ( ) => (
856
- fail!( \" explicit failure\" )
857
- ) ;
858
- ( $msg: expr) => (
859
- :: std:: sys:: FailWithCause :: fail_with( $msg, file!( ) , line!( ) )
860
- ) ;
861
- ( $( $arg: expr ) ,+) => (
862
- :: std:: sys:: FailWithCause :: fail_with( fmt!( $( $arg) ,+ ) , file!( ) , line!( ) )
863
- )
864
- )
865
-
866
873
macro_rules! fail2(
867
874
( ) => (
868
- fail!( \" explicit failure\" )
875
+ fail2!( \" explicit failure\" )
876
+ ) ;
877
+ ( $fmt: expr) => (
878
+ :: std:: sys:: FailWithCause :: fail_with( $fmt, file!( ) , line!( ) )
869
879
) ;
870
- ( $( $arg: tt) * ) => (
871
- :: std:: sys:: FailWithCause :: fail_with( format!( $( $arg) * ) , file!( ) , line!( ) )
880
+ ( $fmt : expr , $ ( $arg: tt) * ) => (
881
+ :: std:: sys:: FailWithCause :: fail_with( format!( $fmt , $ ( $arg) * ) , file!( ) , line!( ) )
872
882
)
873
883
)
874
884
@@ -894,12 +904,14 @@ pub fn std_macros() -> @str {
894
904
macro_rules! assert_eq (
895
905
( $given: expr , $expected: expr) => (
896
906
{
897
- let given_val = $given;
898
- let expected_val = $expected;
907
+ let given_val = & ( $given) ;
908
+ let expected_val = & ( $expected) ;
899
909
// check both directions of equality....
900
- if !( ( given_val == expected_val) && ( expected_val == given_val) ) {
901
- fail!( \" assertion failed: `( left == right) && ( right == \
902
- left) ` ( left: `%?`, right: `%?`) \" , given_val, expected_val) ;
910
+ if !( ( * given_val == * expected_val) &&
911
+ ( * expected_val == * given_val) ) {
912
+ fail2!( \" assertion failed: `( left == right) && ( right == \
913
+ left) ` ( left: `{ : ?} `, right: `{ : ?} `) \" ,
914
+ * given_val, * expected_val) ;
903
915
}
904
916
}
905
917
)
@@ -917,8 +929,8 @@ pub fn std_macros() -> @str {
917
929
given_val. approx_eq( & expected_val) &&
918
930
expected_val. approx_eq( & given_val)
919
931
) {
920
- fail !( \" left: %? does not approximately equal right: %? \" ,
921
- given_val, expected_val) ;
932
+ fail2 !( \" left: { : ? } does not approximately equal right: { : ? } \" ,
933
+ given_val, expected_val) ;
922
934
}
923
935
}
924
936
) ;
@@ -934,7 +946,8 @@ pub fn std_macros() -> @str {
934
946
given_val. approx_eq_eps( & expected_val, & epsilon_val) &&
935
947
expected_val. approx_eq_eps( & given_val, & epsilon_val)
936
948
) {
937
- fail!( \" left: %? does not approximately equal right: %? with epsilon: %?\" ,
949
+ fail2!( \" left: { : ?} does not approximately equal right: \
950
+ { : ?} with epsilon: { : ?} \" ,
938
951
given_val, expected_val, epsilon_val) ;
939
952
}
940
953
}
@@ -968,7 +981,7 @@ pub fn std_macros() -> @str {
968
981
969
982
*/
970
983
macro_rules! unreachable ( ( ) => (
971
- fail !( \" internal error: entered unreachable code\" ) ;
984
+ fail2 !( \" internal error: entered unreachable code\" ) ;
972
985
) )
973
986
974
987
macro_rules! condition (
0 commit comments