time: 0.007; rss: 60MB -> 64MB ( +4MB) parse_crate time: 0.000; rss: 64MB -> 64MB ( +0MB) attributes_injection time: 0.000; rss: 64MB -> 64MB ( +0MB) plugin_loading time: 0.000; rss: 64MB -> 64MB ( +0MB) plugin_registration time: 0.000; rss: 66MB -> 66MB ( +0MB) crate_injection time: 0.347; rss: 66MB -> 162MB ( +96MB) expand_crate time: 0.000; rss: 162MB -> 162MB ( +0MB) check_unused_macros time: 0.347; rss: 66MB -> 162MB ( +96MB) macro_expand_crate time: 0.000; rss: 162MB -> 162MB ( +0MB) maybe_building_test_harness time: 0.010; rss: 162MB -> 162MB ( +0MB) AST_validation time: 0.000; rss: 162MB -> 162MB ( +0MB) maybe_create_a_macro_crate time: 0.001; rss: 162MB -> 162MB ( +0MB) finalize_imports time: 0.000; rss: 162MB -> 162MB ( +0MB) resolve_access_levels time: 0.004; rss: 162MB -> 162MB ( +0MB) finalize_macro_resolutions time: 0.105; rss: 162MB -> 179MB ( +17MB) late_resolve_crate time: 0.000; rss: 179MB -> 179MB ( +0MB) resolve_main time: 0.007; rss: 179MB -> 179MB ( +0MB) resolve_check_unused time: 0.000; rss: 179MB -> 179MB ( +0MB) resolve_report_errors time: 0.006; rss: 179MB -> 179MB ( +0MB) resolve_postprocess time: 0.123; rss: 162MB -> 179MB ( +17MB) resolve_crate time: 0.008; rss: 179MB -> 179MB ( +0MB) complete_gated_feature_checking time: 0.488; rss: 64MB -> 179MB ( +116MB) configure_and_expand {"artifact":"/usr/home/liquid/tmp/.tmpChHJdz/target/debug/deps/combine-dcf8e5b53084f01c.d","emit":"dep-info"} time: 0.000; rss: 179MB -> 179MB ( +0MB) prepare_outputs time: 0.177; rss: 179MB -> 223MB ( +43MB) hir_lowering time: 0.024; rss: 223MB -> 223MB ( +0MB) early_lint_checks time: 0.027; rss: 223MB -> 223MB ( +0MB) drop_ast time: 0.001; rss: 211MB -> 211MB ( +0MB) setup_global_ctxt time: 0.000; rss: 211MB -> 211MB ( +0MB) looking_for_entry_point time: 0.001; rss: 211MB -> 215MB ( +4MB) looking_for_derive_registrar {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"src/lib.rs","byte_start":19229,"byte_end":19238,"line_start":509,"line_end":509,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" #[inline]","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/lib.rs","byte_start":13427,"byte_end":13775,"line_start":356,"line_end":364,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" $crate::combine_parser_impl!{","highlight_start":9,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/parser/range.rs","byte_start":1764,"byte_end":2816,"line_start":68,"line_end":98,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"parser! {","highlight_start":1,"highlight_end":10},{"text":" #[derive(Clone)]","highlight_start":1,"highlight_end":21},{"text":" pub struct Recognize;","highlight_start":1,"highlight_end":26},{"text":" type PartialState = as Parser>::PartialState;","highlight_start":1,"highlight_end":80},{"text":" /// Zero-copy parser which returns committed input range.","highlight_start":1,"highlight_end":62},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`][] is a non-`RangeStream` alternative.","highlight_start":1,"highlight_end":72},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`]: ../../parser/combinator/fn.recognize.html","highlight_start":1,"highlight_end":77},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" /// # extern crate combine;","highlight_start":1,"highlight_end":32},{"text":" /// # use combine::parser::range::recognize;","highlight_start":1,"highlight_end":49},{"text":" /// # use combine::parser::char::letter;","highlight_start":1,"highlight_end":45},{"text":" /// # use combine::*;","highlight_start":1,"highlight_end":26},{"text":" /// # fn main() {","highlight_start":1,"highlight_end":22},{"text":" /// let mut parser = recognize(skip_many1(letter()));","highlight_start":1,"highlight_end":58},{"text":" /// assert_eq!(parser.parse(\"hello world\"), Ok((\"hello\", \" world\")));","highlight_start":1,"highlight_end":74},{"text":" /// assert!(parser.parse(\"!\").is_err());","highlight_start":1,"highlight_end":45},{"text":" /// # }","highlight_start":1,"highlight_end":12},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" #[inline]","highlight_start":1,"highlight_end":14},{"text":" pub fn recognize[Input, P](parser: P)(Input) -> ::Range","highlight_start":1,"highlight_end":81},{"text":" where [","highlight_start":1,"highlight_end":12},{"text":" P: Parser,","highlight_start":1,"highlight_end":26},{"text":" Input: RangeStream,","highlight_start":1,"highlight_end":28},{"text":" ::Range: crate::stream::Range,","highlight_start":1,"highlight_end":60},{"text":" ]","highlight_start":1,"highlight_end":6},{"text":" {","highlight_start":1,"highlight_end":6},{"text":" recognize_with_value(parser).map(|(range, _)| range)","highlight_start":1,"highlight_end":61},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"parser!","def_site_span":{"file_name":"src/lib.rs","byte_start":12315,"byte_end":15110,"line_start":326,"line_end":403,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! parser {","highlight_start":1,"highlight_end":22},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::combine_parser_impl!","def_site_span":{"file_name":"src/lib.rs","byte_start":15574,"byte_end":19982,"line_start":421,"line_end":528,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! combine_parser_impl {","highlight_start":1,"highlight_end":35},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" (type PartialState = ($($partial_state: tt)*);)","highlight_start":1,"highlight_end":56},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":23},{"text":" $struct_vis struct $type_name<$($type_params)*>","highlight_start":1,"highlight_end":56},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":43},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":74},{"text":" >,","highlight_start":1,"highlight_end":23},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $(pub $arg : $arg_type,)*","highlight_start":1,"highlight_end":38},{"text":" __marker: $crate::lib::marker::PhantomData $output_type>","highlight_start":1,"highlight_end":89},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // We want this to work on older compilers, at least for a while","highlight_start":1,"highlight_end":73},{"text":" #[allow(non_shorthand_field_patterns)]","highlight_start":1,"highlight_end":47},{"text":" impl<$($type_params)*> $crate::Parser<$input_type> for $type_name<$($type_params)*>","highlight_start":1,"highlight_end":92},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" type Output = $output_type;","highlight_start":1,"highlight_end":40},{"text":" type PartialState = $($partial_state)*;","highlight_start":1,"highlight_end":52},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $crate::parse_mode!($input_type);","highlight_start":1,"highlight_end":46},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn parse_mode_impl(","highlight_start":1,"highlight_end":35},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" mode: M,","highlight_start":1,"highlight_end":25},{"text":" input: &mut $input_type,","highlight_start":1,"highlight_end":41},{"text":" state: &mut Self::PartialState,","highlight_start":1,"highlight_end":48},{"text":" ) -> $crate::error::ParseResult<$output_type, <$input_type as $crate::stream::StreamOnce>::Error>","highlight_start":1,"highlight_end":114},{"text":" where M: $crate::parser::ParseMode","highlight_start":1,"highlight_end":47},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg: ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":72},{"text":" $crate::combine_parse_partial!(($($partial_state)*) mode input state $parser)","highlight_start":1,"highlight_end":94},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn add_error(","highlight_start":1,"highlight_end":26},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_error(errors)","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn add_committed_expected_error(","highlight_start":1,"highlight_end":45},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_committed_expected_error(errors)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":21},{"text":" #[inline]","highlight_start":1,"highlight_end":18},{"text":" $fn_vis fn $name< $($type_params)* >(","highlight_start":1,"highlight_end":46},{"text":" $($arg : $arg_type),*","highlight_start":1,"highlight_end":38},{"text":" ) -> $type_name<$($type_params)*>","highlight_start":1,"highlight_end":46},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $type_name {","highlight_start":1,"highlight_end":25},{"text":" $($arg,)*","highlight_start":1,"highlight_end":26},{"text":" __marker: $crate::lib::marker::PhantomData","highlight_start":1,"highlight_end":59},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`#[warn(unused_attributes)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"attribute also specified here","code":null,"level":"note","spans":[{"file_name":"src/lib.rs","byte_start":19210,"byte_end":19218,"line_start":508,"line_end":508,"column_start":11,"column_end":19,"is_primary":true,"text":[{"text":" $(#[$attr])*","highlight_start":11,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/lib.rs","byte_start":13427,"byte_end":13775,"line_start":356,"line_end":364,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" $crate::combine_parser_impl!{","highlight_start":9,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/parser/range.rs","byte_start":1764,"byte_end":2816,"line_start":68,"line_end":98,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"parser! {","highlight_start":1,"highlight_end":10},{"text":" #[derive(Clone)]","highlight_start":1,"highlight_end":21},{"text":" pub struct Recognize;","highlight_start":1,"highlight_end":26},{"text":" type PartialState = as Parser>::PartialState;","highlight_start":1,"highlight_end":80},{"text":" /// Zero-copy parser which returns committed input range.","highlight_start":1,"highlight_end":62},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`][] is a non-`RangeStream` alternative.","highlight_start":1,"highlight_end":72},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`]: ../../parser/combinator/fn.recognize.html","highlight_start":1,"highlight_end":77},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" /// # extern crate combine;","highlight_start":1,"highlight_end":32},{"text":" /// # use combine::parser::range::recognize;","highlight_start":1,"highlight_end":49},{"text":" /// # use combine::parser::char::letter;","highlight_start":1,"highlight_end":45},{"text":" /// # use combine::*;","highlight_start":1,"highlight_end":26},{"text":" /// # fn main() {","highlight_start":1,"highlight_end":22},{"text":" /// let mut parser = recognize(skip_many1(letter()));","highlight_start":1,"highlight_end":58},{"text":" /// assert_eq!(parser.parse(\"hello world\"), Ok((\"hello\", \" world\")));","highlight_start":1,"highlight_end":74},{"text":" /// assert!(parser.parse(\"!\").is_err());","highlight_start":1,"highlight_end":45},{"text":" /// # }","highlight_start":1,"highlight_end":12},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" #[inline]","highlight_start":1,"highlight_end":14},{"text":" pub fn recognize[Input, P](parser: P)(Input) -> ::Range","highlight_start":1,"highlight_end":81},{"text":" where [","highlight_start":1,"highlight_end":12},{"text":" P: Parser,","highlight_start":1,"highlight_end":26},{"text":" Input: RangeStream,","highlight_start":1,"highlight_end":28},{"text":" ::Range: crate::stream::Range,","highlight_start":1,"highlight_end":60},{"text":" ]","highlight_start":1,"highlight_end":6},{"text":" {","highlight_start":1,"highlight_end":6},{"text":" recognize_with_value(parser).map(|(range, _)| range)","highlight_start":1,"highlight_end":61},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"parser!","def_site_span":{"file_name":"src/lib.rs","byte_start":12315,"byte_end":15110,"line_start":326,"line_end":403,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! parser {","highlight_start":1,"highlight_end":22},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::combine_parser_impl!","def_site_span":{"file_name":"src/lib.rs","byte_start":15574,"byte_end":19982,"line_start":421,"line_end":528,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! combine_parser_impl {","highlight_start":1,"highlight_end":35},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" (type PartialState = ($($partial_state: tt)*);)","highlight_start":1,"highlight_end":56},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":23},{"text":" $struct_vis struct $type_name<$($type_params)*>","highlight_start":1,"highlight_end":56},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":43},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":74},{"text":" >,","highlight_start":1,"highlight_end":23},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $(pub $arg : $arg_type,)*","highlight_start":1,"highlight_end":38},{"text":" __marker: $crate::lib::marker::PhantomData $output_type>","highlight_start":1,"highlight_end":89},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // We want this to work on older compilers, at least for a while","highlight_start":1,"highlight_end":73},{"text":" #[allow(non_shorthand_field_patterns)]","highlight_start":1,"highlight_end":47},{"text":" impl<$($type_params)*> $crate::Parser<$input_type> for $type_name<$($type_params)*>","highlight_start":1,"highlight_end":92},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" type Output = $output_type;","highlight_start":1,"highlight_end":40},{"text":" type PartialState = $($partial_state)*;","highlight_start":1,"highlight_end":52},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $crate::parse_mode!($input_type);","highlight_start":1,"highlight_end":46},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn parse_mode_impl(","highlight_start":1,"highlight_end":35},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" mode: M,","highlight_start":1,"highlight_end":25},{"text":" input: &mut $input_type,","highlight_start":1,"highlight_end":41},{"text":" state: &mut Self::PartialState,","highlight_start":1,"highlight_end":48},{"text":" ) -> $crate::error::ParseResult<$output_type, <$input_type as $crate::stream::StreamOnce>::Error>","highlight_start":1,"highlight_end":114},{"text":" where M: $crate::parser::ParseMode","highlight_start":1,"highlight_end":47},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg: ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":72},{"text":" $crate::combine_parse_partial!(($($partial_state)*) mode input state $parser)","highlight_start":1,"highlight_end":94},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn add_error(","highlight_start":1,"highlight_end":26},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_error(errors)","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn add_committed_expected_error(","highlight_start":1,"highlight_end":45},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_committed_expected_error(errors)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":21},{"text":" #[inline]","highlight_start":1,"highlight_end":18},{"text":" $fn_vis fn $name< $($type_params)* >(","highlight_start":1,"highlight_end":46},{"text":" $($arg : $arg_type),*","highlight_start":1,"highlight_end":38},{"text":" ) -> $type_name<$($type_params)*>","highlight_start":1,"highlight_end":46},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $type_name {","highlight_start":1,"highlight_end":25},{"text":" $($arg,)*","highlight_start":1,"highlight_end":26},{"text":" __marker: $crate::lib::marker::PhantomData","highlight_start":1,"highlight_end":59},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!","code":null,"level":"warning","spans":[],"children":[],"rendered":null},{"message":"remove this attribute","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":19229,"byte_end":19238,"line_start":509,"line_end":509,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" #[inline]","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"src/lib.rs","byte_start":13427,"byte_end":13775,"line_start":356,"line_end":364,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" $crate::combine_parser_impl!{","highlight_start":9,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/parser/range.rs","byte_start":1764,"byte_end":2816,"line_start":68,"line_end":98,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"parser! {","highlight_start":1,"highlight_end":10},{"text":" #[derive(Clone)]","highlight_start":1,"highlight_end":21},{"text":" pub struct Recognize;","highlight_start":1,"highlight_end":26},{"text":" type PartialState = as Parser>::PartialState;","highlight_start":1,"highlight_end":80},{"text":" /// Zero-copy parser which returns committed input range.","highlight_start":1,"highlight_end":62},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`][] is a non-`RangeStream` alternative.","highlight_start":1,"highlight_end":72},{"text":" ///","highlight_start":1,"highlight_end":8},{"text":" /// [`combinator::recognize`]: ../../parser/combinator/fn.recognize.html","highlight_start":1,"highlight_end":77},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" /// # extern crate combine;","highlight_start":1,"highlight_end":32},{"text":" /// # use combine::parser::range::recognize;","highlight_start":1,"highlight_end":49},{"text":" /// # use combine::parser::char::letter;","highlight_start":1,"highlight_end":45},{"text":" /// # use combine::*;","highlight_start":1,"highlight_end":26},{"text":" /// # fn main() {","highlight_start":1,"highlight_end":22},{"text":" /// let mut parser = recognize(skip_many1(letter()));","highlight_start":1,"highlight_end":58},{"text":" /// assert_eq!(parser.parse(\"hello world\"), Ok((\"hello\", \" world\")));","highlight_start":1,"highlight_end":74},{"text":" /// assert!(parser.parse(\"!\").is_err());","highlight_start":1,"highlight_end":45},{"text":" /// # }","highlight_start":1,"highlight_end":12},{"text":" /// ```","highlight_start":1,"highlight_end":12},{"text":" #[inline]","highlight_start":1,"highlight_end":14},{"text":" pub fn recognize[Input, P](parser: P)(Input) -> ::Range","highlight_start":1,"highlight_end":81},{"text":" where [","highlight_start":1,"highlight_end":12},{"text":" P: Parser,","highlight_start":1,"highlight_end":26},{"text":" Input: RangeStream,","highlight_start":1,"highlight_end":28},{"text":" ::Range: crate::stream::Range,","highlight_start":1,"highlight_end":60},{"text":" ]","highlight_start":1,"highlight_end":6},{"text":" {","highlight_start":1,"highlight_end":6},{"text":" recognize_with_value(parser).map(|(range, _)| range)","highlight_start":1,"highlight_end":61},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"parser!","def_site_span":{"file_name":"src/lib.rs","byte_start":12315,"byte_end":15110,"line_start":326,"line_end":403,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! parser {","highlight_start":1,"highlight_end":22},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" type PartialState = $partial_state: ty;","highlight_start":1,"highlight_end":48},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = ($partial_state);)","highlight_start":1,"highlight_end":52},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" #[allow(non_camel_case_types)]","highlight_start":1,"highlight_end":43},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" $fn_vis struct $name;","highlight_start":1,"highlight_end":34},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),* )","highlight_start":1,"highlight_end":97},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" $crate::combine_parser_impl!{","highlight_start":1,"highlight_end":38},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":27},{"text":" $struct_vis struct $type_name;","highlight_start":1,"highlight_end":43},{"text":" (type PartialState = (());)","highlight_start":1,"highlight_end":40},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":25},{"text":" $fn_vis fn $name [$($type_params)*]($($arg : $arg_type),*)($input_type) -> $output_type","highlight_start":1,"highlight_end":100},{"text":" where [$($where_clause)*]","highlight_start":1,"highlight_end":42},{"text":" $parser","highlight_start":1,"highlight_end":20},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::combine_parser_impl!","def_site_span":{"file_name":"src/lib.rs","byte_start":15574,"byte_end":19982,"line_start":421,"line_end":528,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! combine_parser_impl {","highlight_start":1,"highlight_end":35},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" $(#[$derive:meta])*","highlight_start":1,"highlight_end":28},{"text":" $struct_vis: vis struct $type_name: ident;","highlight_start":1,"highlight_end":51},{"text":" (type PartialState = ($($partial_state: tt)*);)","highlight_start":1,"highlight_end":56},{"text":" $(#[$attr:meta])*","highlight_start":1,"highlight_end":26},{"text":" $fn_vis: vis fn $name: ident [$($type_params: tt)*]( $($arg: ident : $arg_type: ty),*)","highlight_start":1,"highlight_end":96},{"text":" ($input_type: ty) -> $output_type: ty","highlight_start":1,"highlight_end":50},{"text":" where [$($where_clause: tt)*]","highlight_start":1,"highlight_end":42},{"text":" $parser: block","highlight_start":1,"highlight_end":23},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$derive])*","highlight_start":1,"highlight_end":23},{"text":" $struct_vis struct $type_name<$($type_params)*>","highlight_start":1,"highlight_end":56},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":43},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":72},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":74},{"text":" >,","highlight_start":1,"highlight_end":23},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $(pub $arg : $arg_type,)*","highlight_start":1,"highlight_end":38},{"text":" __marker: $crate::lib::marker::PhantomData $output_type>","highlight_start":1,"highlight_end":89},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // We want this to work on older compilers, at least for a while","highlight_start":1,"highlight_end":73},{"text":" #[allow(non_shorthand_field_patterns)]","highlight_start":1,"highlight_end":47},{"text":" impl<$($type_params)*> $crate::Parser<$input_type> for $type_name<$($type_params)*>","highlight_start":1,"highlight_end":92},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" type Output = $output_type;","highlight_start":1,"highlight_end":40},{"text":" type PartialState = $($partial_state)*;","highlight_start":1,"highlight_end":52},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $crate::parse_mode!($input_type);","highlight_start":1,"highlight_end":46},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn parse_mode_impl(","highlight_start":1,"highlight_end":35},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" mode: M,","highlight_start":1,"highlight_end":25},{"text":" input: &mut $input_type,","highlight_start":1,"highlight_end":41},{"text":" state: &mut Self::PartialState,","highlight_start":1,"highlight_end":48},{"text":" ) -> $crate::error::ParseResult<$output_type, <$input_type as $crate::stream::StreamOnce>::Error>","highlight_start":1,"highlight_end":114},{"text":" where M: $crate::parser::ParseMode","highlight_start":1,"highlight_end":47},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg: ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":72},{"text":" $crate::combine_parse_partial!(($($partial_state)*) mode input state $parser)","highlight_start":1,"highlight_end":94},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[inline]","highlight_start":1,"highlight_end":22},{"text":" fn add_error(","highlight_start":1,"highlight_end":26},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_error(errors)","highlight_start":1,"highlight_end":41},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn add_committed_expected_error(","highlight_start":1,"highlight_end":45},{"text":" &mut self,","highlight_start":1,"highlight_end":27},{"text":" errors: &mut $crate::error::Tracked<","highlight_start":1,"highlight_end":53},{"text":" <$input_type as $crate::stream::StreamOnce>::Error","highlight_start":1,"highlight_end":71},{"text":" >)","highlight_start":1,"highlight_end":23},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" let $type_name { $( $arg : ref mut $arg,)* .. } = *self;","highlight_start":1,"highlight_end":74},{"text":" let mut parser = $parser;","highlight_start":1,"highlight_end":42},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" let _: &mut dyn $crate::Parser< $input_type, Output = $output_type, PartialState = _> = &mut parser;","highlight_start":1,"highlight_end":121},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" parser.add_committed_expected_error(errors)","highlight_start":1,"highlight_end":60},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$attr])*","highlight_start":1,"highlight_end":21},{"text":" #[inline]","highlight_start":1,"highlight_end":18},{"text":" $fn_vis fn $name< $($type_params)* >(","highlight_start":1,"highlight_end":46},{"text":" $($arg : $arg_type),*","highlight_start":1,"highlight_end":38},{"text":" ) -> $type_name<$($type_params)*>","highlight_start":1,"highlight_end":46},{"text":" where <$input_type as $crate::stream::StreamOnce>::Error:","highlight_start":1,"highlight_end":70},{"text":" $crate::error::ParseError<","highlight_start":1,"highlight_end":47},{"text":" <$input_type as $crate::stream::StreamOnce>::Token,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Range,","highlight_start":1,"highlight_end":76},{"text":" <$input_type as $crate::stream::StreamOnce>::Position","highlight_start":1,"highlight_end":78},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" $input_type: $crate::stream::Stream,","highlight_start":1,"highlight_end":53},{"text":" $($where_clause)*","highlight_start":1,"highlight_end":34},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $type_name {","highlight_start":1,"highlight_end":25},{"text":" $($arg,)*","highlight_start":1,"highlight_end":26},{"text":" __marker: $crate::lib::marker::PhantomData","highlight_start":1,"highlight_end":59},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused attribute\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:509:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m509\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m #[inline]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: remove this attribute\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/parser/range.rs:68:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m68\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mparser! {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[derive(Clone)]\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m70\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub struct Recognize;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m71\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type PartialState = as Parser>::PartialState;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m97\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m }\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m98\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_attributes)]` on by default\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: attribute also specified here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/lib.rs:508:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m508\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m $(#[$attr])*\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0msrc/parser/range.rs:68:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m68\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mparser! {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m #[derive(Clone)]\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m70\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub struct Recognize;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m71\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type PartialState = as Parser>::PartialState;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m97\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m }\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m98\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mwarning\u001b[0m\u001b[0m: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `$crate::combine_parser_impl` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} time: 0.051; rss: 211MB -> 215MB ( +4MB) misc_checking_1 time: 0.077; rss: 215MB -> 234MB ( +19MB) type_collecting time: 0.002; rss: 234MB -> 234MB ( +0MB) impl_wf_inference time: 0.000; rss: 234MB -> 234MB ( +0MB) unsafety_checking time: 0.018; rss: 234MB -> 249MB ( +15MB) coherence_checking time: 0.461; rss: 249MB -> 254MB ( +4MB) wf_checking time: 0.310; rss: 254MB -> 264MB ( +10MB) item_types_checking time: 2.968; rss: 264MB -> 305MB ( +41MB) item_bodies_checking time: 3.839; rss: 215MB -> 305MB ( +89MB) type_check_crate time: 0.040; rss: 305MB -> 305MB ( +0MB) match_checking time: 0.030; rss: 305MB -> 305MB ( +0MB) liveness_and_intrinsic_checking time: 0.070; rss: 305MB -> 305MB ( +0MB) misc_checking_2 time: 1.969; rss: 305MB -> 366MB ( +60MB) MIR_borrow_checking time: 0.004; rss: 366MB -> 366MB ( +0MB) MIR_effect_checking time: 0.000; rss: 366MB -> 366MB ( +0MB) layout_testing time: 0.019; rss: 366MB -> 366MB ( +0MB) death_checking time: 0.000; rss: 366MB -> 366MB ( +0MB) unused_lib_feature_checking time: 0.029; rss: 366MB -> 366MB ( +0MB) crate_lints time: 0.050; rss: 366MB -> 366MB ( +0MB) module_lints time: 0.079; rss: 366MB -> 366MB ( +0MB) lint_checking time: 0.103; rss: 366MB -> 367MB ( +0MB) privacy_checking_modules time: 0.236; rss: 366MB -> 367MB ( +1MB) misc_checking_3 time: 0.041; rss: 367MB -> 376MB ( +9MB) generate_crate_metadata {"artifact":"/usr/home/liquid/tmp/.tmpChHJdz/target/debug/deps/libcombine-dcf8e5b53084f01c.rmeta","emit":"metadata"} time: 0.001; rss: 376MB -> 376MB ( +0MB) codegen_crate time: 0.000; rss: 376MB -> 376MB ( +0MB) serialize_dep_graph time: 0.038; rss: 376MB -> 301MB ( -74MB) free_global_ctxt time: 0.000; rss: 301MB -> 301MB ( +0MB) join_worker_thread time: 0.000; rss: 301MB -> 301MB ( +0MB) finish_ongoing_codegen time: 0.000; rss: 301MB -> 301MB ( +0MB) llvm_dump_timing_file time: 0.000; rss: 301MB -> 301MB ( +0MB) serialize_work_products time: 0.000; rss: 301MB -> 301MB ( +0MB) link_binary_check_files_are_writeable time: 0.000; rss: 301MB -> 301MB ( +0MB) link_binary_remove_temps time: 0.000; rss: 301MB -> 301MB ( +0MB) link_binary time: 0.000; rss: 301MB -> 301MB ( +0MB) link_crate time: 0.000; rss: 301MB -> 301MB ( +0MB) link {"message":"1 warning emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 1 warning emitted\u001b[0m\n\n"} time: 7.014; rss: 46MB -> 163MB ( +117MB) total