From anonymous, 8 Months ago, written in Plain Text.
Embed
  1. /code error[E0308]: mismatched types
  2.   --> <::nom::sequence::do_parse macros>:45:1
  3.    |
  4. 1  |         ( __impl $ i : expr , ( $ ( $ rest : expr ) , * ) ) => (
  5.    |       __-
  6.    |      |__|
  7.    |     ||__|
  8.    |    |||__|
  9.    |   ||||
  10. 2  |   ||||  $ crate :: lib :: std :: result :: Result :: Ok (
  11. 3  |   ||||  ( $ i , ( $ ( $ rest ) , * ) ) ) ) ; (
  12. 4  |   ||||  __impl $ i : expr , $ field : ident : $ submac : ident ! ( $ ( $ args : tt ) *
  13. ...    ||||
  14. 36 |   ||||  let i_ = i . clone (  ) ; do_parse ! ( __impl i_ , $ ( $ rest ) * ) } , } } )
  15.    |   ||||                            ----------------------------------------- in this macro invocation (#5)
  16. ...    ||||
  17. 45 |   ||||  Err ( e ) => Err ( e ) , Ok ( ( i , o ) ) => {
  18.    |   ||||  ^^^^^^^^^ expected u64, found enum `std::result::Result`
  19. 46 |   ||||  let $ field = o ; let i_ = i . clone (  ) ; do_parse ! (
  20.    |  _||||______________________________________________-
  21. 47 | | ||||  __impl i_ , $ ( $ rest ) * ) } , } } ) ; (
  22.    | |_||||_____________________________- in this macro invocation (#4)
  23. ...    ||||
  24. 74 |   ||||  { do_parse ! ( __impl $ i , $ ( $ rest ) * ) } ) ; (
  25.    |   ||||    ------------------------------------------ in this macro invocation (#3)
  26. ...    ||||
  27. 85 |   ||||  ) ; ) ; ( $ e : ident ! >> $ ( $ rest : tt ) * ) => (
  28. 86 |   ||||  do_parse ! ( call ! ( $ e ) >> $ ( $ rest ) * ) ; ) ;
  29.    |   ||||                                                      -
  30.    |   ||||______________________________________________________|
  31.    |   |||_______________________________________________________in this expansion of `do_parse!` (#2)
  32.    |   ||________________________________________________________in this expansion of `do_parse!` (#3)
  33.    |   |_________________________________________________________in this expansion of `do_parse!` (#4)
  34.    |                                                             in this expansion of `do_parse!` (#5)
  35.    |
  36.   ::: <::nom::macros::named macros>:1:1
  37.    |
  38. 1  |       / ( # $ ( $ args : tt ) * ) => ( named_attr ! ( # $ ( $ args ) * ) ; ) ; (
  39. 2  |       | $ name : ident ( $ i : ty ) -> $ o : ty , $ submac : ident ! (
  40. 3  |       | $ ( $ args : tt ) * ) ) => (
  41. 4  |       | fn $ name ( i : $ i ) -> $ crate :: IResult < $ i , $ o , u32 > {
  42. ...        |
  43. 20 |       | { $ submac ! ( i , $ ( $ args ) * ) } ) ; (
  44.    |       |              ---------------------- in this macro invocation (#2)
  45. ...        |
  46. 63 |       | i : & 'a [ u8 ] ) -> $ crate :: IResult < & [ u8 ] , & [ u8 ] , u32 > {
  47. 64 |       | $ submac ! ( i , $ ( $ args ) * ) } ) ;
  48.    |       |_______________________________________- in this expansion of `named!` (#1)
  49.    |
  50.   ::: src/lib.rs:43:1
  51.    |
  52. 43 |  /      named!(
  53. 44 |  |          ben_string,
  54. 45 |  |          do_parse!(
  55. 46 |  |              digits: take_while!(is_digit) >>
  56. ...   |
  57. 53 |  |          )
  58. 54 |  |      );
  59.    |  |_______- in this macro invocation (#1)
  60.    |
  61.    = note: expected type `u64`
  62.               found type `std::result::Result<_, _>`
  63.  
  64. error[E0308]: mismatched types
  65.   --> <::nom::sequence::do_parse macros>:45:26
  66.    |
  67. 1  |         ( __impl $ i : expr , ( $ ( $ rest : expr ) , * ) ) => (
  68.    |       __-
  69.    |      |__|
  70.    |     ||__|
  71.    |    |||__|
  72.    |   ||||
  73. 2  |   ||||  $ crate :: lib :: std :: result :: Result :: Ok (
  74. 3  |   ||||  ( $ i , ( $ ( $ rest ) , * ) ) ) ) ; (
  75. 4  |   ||||  __impl $ i : expr , $ field : ident : $ submac : ident ! ( $ ( $ args : tt ) *
  76. ...    ||||
  77. 36 |   ||||  let i_ = i . clone (  ) ; do_parse ! ( __impl i_ , $ ( $ rest ) * ) } , } } )
  78.    |   ||||                            ----------------------------------------- in this macro invocation (#5)
  79. ...    ||||
  80. 45 |   ||||  Err ( e ) => Err ( e ) , Ok ( ( i , o ) ) => {
  81.    |   ||||                           ^^^^^^^^^^^^^^^^ expected u64, found enum `std::result::Result`
  82. 46 |   ||||  let $ field = o ; let i_ = i . clone (  ) ; do_parse ! (
  83.    |  _||||______________________________________________-
  84. 47 | | ||||  __impl i_ , $ ( $ rest ) * ) } , } } ) ; (
  85.    | |_||||_____________________________- in this macro invocation (#4)
  86. ...    ||||
  87. 74 |   ||||  { do_parse ! ( __impl $ i , $ ( $ rest ) * ) } ) ; (
  88.    |   ||||    ------------------------------------------ in this macro invocation (#3)
  89. ...    ||||
  90. 85 |   ||||  ) ; ) ; ( $ e : ident ! >> $ ( $ rest : tt ) * ) => (
  91. 86 |   ||||  do_parse ! ( call ! ( $ e ) >> $ ( $ rest ) * ) ; ) ;
  92.    |   ||||                                                      -
  93.    |   ||||______________________________________________________|
  94.    |   |||_______________________________________________________in this expansion of `do_parse!` (#2)
  95.    |   ||________________________________________________________in this expansion of `do_parse!` (#3)
  96.    |   |_________________________________________________________in this expansion of `do_parse!` (#4)
  97.    |                                                             in this expansion of `do_parse!` (#5)
  98.    |
  99.   ::: <::nom::macros::named macros>:1:1
  100.    |
  101. 1  |       / ( # $ ( $ args : tt ) * ) => ( named_attr ! ( # $ ( $ args ) * ) ; ) ; (
  102. 2  |       | $ name : ident ( $ i : ty ) -> $ o : ty , $ submac : ident ! (
  103. 3  |       | $ ( $ args : tt ) * ) ) => (
  104. 4  |       | fn $ name ( i : $ i ) -> $ crate :: IResult < $ i , $ o , u32 > {
  105. ...        |
  106. 20 |       | { $ submac ! ( i , $ ( $ args ) * ) } ) ; (
  107.    |       |              ---------------------- in this macro invocation (#2)
  108. ...        |
  109. 63 |       | i : & 'a [ u8 ] ) -> $ crate :: IResult < & [ u8 ] , & [ u8 ] , u32 > {
  110. 64 |       | $ submac ! ( i , $ ( $ args ) * ) } ) ;
  111.    |       |_______________________________________- in this expansion of `named!` (#1)
  112.    |
  113.   ::: src/lib.rs:43:1
  114.    |
  115. 43 |  /      named!(
  116. 44 |  |          ben_string,
  117. 45 |  |          do_parse!(
  118. 46 |  |              digits: take_while!(is_digit) >>
  119. ...   |
  120. 53 |  |          )
  121. 54 |  |      );
  122.    |  |_______- in this macro invocation (#1)
  123.    |
  124.    = note: expected type `u64`
  125.               found type `std::result::Result<_, _>`
  126.  
  127. error: aborting due to 2 previous errors
  128.  
  129. For more information about this error, try `rustc --explain E0308`.
  130.  
  131. To learn more, run the command again with --verbose.