All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: Rule::all_rules
    functionSourceFile: /src/pest/meta/src/grammar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '& ''static [Rule]'
    signature: pub fn all_rules () -> & 'static [Rule]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ':: pest :: state'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#grammar_rules'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#grammar_rule'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#assignment_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#opening_brace'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#closing_brace'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#opening_paren'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#closing_paren'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#opening_brack'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#closing_brack'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#modifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#silent_modifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#atomic_modifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#compound_atomic_modifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#non_atomic_modifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#tag_id'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#node_tag'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#expression'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#term'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#node'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#terminal'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#prefix_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#infix_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#postfix_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#positive_predicate_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#negative_predicate_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#sequence_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#choice_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#optional_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_once_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_exact'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_min'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_max'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#repeat_min_max'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#number'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#integer'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#comma'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#_push'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#_push_literal'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#peek_slice'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#identifier'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#alpha'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#alpha_num'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#string'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#insensitive_string'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#range'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#character'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#inner_str'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#inner_chr'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#escape'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#code'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#unicode'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#hex_digit'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#quote'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#single_quote'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#range_operator'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#newline'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#WHITESPACE'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#line_comment'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#block_comment'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#COMMENT'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#space'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#grammar_doc'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#line_doc'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: r#inner_doc'
      Src: /src/pest/meta/src/grammar.rs:2,1
    - Dst: 'rules :: EOI'
      Src: /src/pest/meta/src/grammar.rs:2,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1487
    argCount: 2
    argNames:
    - rule
    - input
    argTypes:
    - Rule
    - '& ''i str'
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: PestParser::parse
    functionSourceFile: /src/pest/meta/src/grammar.rs
    functionUses: 35
    functionsReached:
    - 'rules :: r#repeat_min'
    - 'rules :: r#opening_brack'
    - 'rules :: r#inner_str'
    - 'rules :: r#escape'
    - 'rules :: r#inner_chr'
    - 'rules :: r#comma'
    - 'rules :: r#quote'
    - 'rules :: r#range'
    - 'rules :: r#positive_predicate_operator'
    - 'rules :: r#repeat_max'
    - 'rules :: r#grammar_doc'
    - 'rules :: r#WHITESPACE'
    - 'rules :: r#integer'
    - 'rules :: r#_push_literal'
    - 'rules :: r#line_doc'
    - 'rules :: r#node'
    - 'rules :: r#character'
    - 'rules :: r#space'
    - 'rules :: r#repeat_exact'
    - 'rules :: r#alpha_num'
    - 'rules :: r#prefix_operator'
    - 'rules :: r#repeat_operator'
    - 'rules :: r#grammar_rules'
    - 'rules :: EOI'
    - 'rules :: r#atomic_modifier'
    - 'rules :: r#expression'
    - 'rules :: r#closing_paren'
    - 'rules :: r#repeat_min_max'
    - 'rules :: r#closing_brack'
    - 'rules :: r#range_operator'
    - 'rules :: r#peek_slice'
    - 'rules :: r#alpha'
    - 'rules :: r#tag_id'
    - 'rules :: r#newline'
    - 'rules :: r#grammar_rule'
    - 'rules :: r#silent_modifier'
    - 'rules :: r#block_comment'
    - 'rules :: r#optional_operator'
    - 'rules :: r#line_comment'
    - 'rules :: r#inner_doc'
    - 'rules :: r#postfix_operator'
    - 'rules :: r#string'
    - 'rules :: r#infix_operator'
    - 'rules :: r#sequence_operator'
    - 'rules :: r#opening_brace'
    - 'rules :: r#non_atomic_modifier'
    - 'rules :: r#identifier'
    - 'rules :: r#compound_atomic_modifier'
    - 'rules :: r#assignment_operator'
    - 'rules :: r#_push'
    - 'rules :: r#code'
    - 'rules :: r#node_tag'
    - 'rules :: r#terminal'
    - 'rules :: r#negative_predicate_operator'
    - 'rules :: r#term'
    - 'rules :: r#closing_brace'
    - 'rules :: r#unicode'
    - 'rules :: r#choice_operator'
    - 'rules :: r#number'
    - 'rules :: r#insensitive_string'
    - 'rules :: r#modifier'
    - 'rules :: r#single_quote'
    - ':: pest :: state'
    - 'rules :: r#hex_digit'
    - 'rules :: r#repeat_once_operator'
    - 'rules :: r#opening_paren'
    - 'rules :: r#COMMENT'
    linkageType: ''
    returnType: ':: std :: result :: Result '
    signature: 'fn parse < ''i > (rule : Rule , input : & ''i str) -> :: std :: result
      :: Result < :: pest :: iterators :: Pairs < ''i , Rule > , :: pest :: error
      :: Error < Rule > >'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rule
    - data
    argTypes:
    - Rule
    - '&str'
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: parse
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 86
    functionsReached:
    - PestParser::parse
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse(rule: Rule, data: &str) -> Result<Pairs<''_, Rule>, Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/pest/meta/src/parser.rs:70,1
    - Dst: Expr::clone
      Src: /src/pest/meta/src/parser.rs:70,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:71,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:76,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:79,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:82,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:83,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:86,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:87,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:90,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:93,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:96,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:99,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:102,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:105,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:108,1
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 3
    argNames:
    - node
    - f
    - result
    argTypes:
    - ParserNode<'i>
    - '&mut F'
    - '&mut Vec<T>'
    constantsTouched: []
    func_position:
      end: 115
      start: 66
    functionDepth: 19
    functionLinenumber: 66
    functionLinenumberEnd: 115
    functionName: P::a::r::s::e::r::N::o::d::e::::::::f::i::l::t::e::r::_::m::a::p::_::t::o::p::_::d::o::w::n::filter_internal
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - filter_internal
    - f
    - push
    - Expr::clone
    linkageType: ''
    returnType: void
    signature: 'pub fn filter_internal<''i, F, T>(node: ParserNode<''i>, f: &mut F,
      result: &mut Vec<T>)whereF: FnMut(ParserNode<''i>) -> Option<T>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_internal
      Src: /src/pest/meta/src/parser.rs:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 122
      start: 62
    functionDepth: 20
    functionLinenumber: 62
    functionLinenumberEnd: 122
    functionName: ParserNode::filter_map_top_down
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - filter_internal
    linkageType: ''
    returnType: Vec
    signature: 'pub fn filter_map_top_down<F, T>(self, mut f: F) -> Vec<T>whereF:
      FnMut(ParserNode<''i>) -> Option<T>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - ParserRule<'_>
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: convert_rule
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - convert_node
    linkageType: ''
    returnType: AstRule
    signature: 'fn convert_rule(rule: ParserRule<''_>) -> AstRule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Expr::Str
      Src: /src/pest/meta/src/parser.rs:178,1
    - Dst: Expr::Insens
      Src: /src/pest/meta/src/parser.rs:179,1
    - Dst: Expr::Range
      Src: /src/pest/meta/src/parser.rs:180,1
    - Dst: Expr::Ident
      Src: /src/pest/meta/src/parser.rs:181,1
    - Dst: Expr::PeekSlice
      Src: /src/pest/meta/src/parser.rs:182,1
    - Dst: Expr::PosPred
      Src: /src/pest/meta/src/parser.rs:183,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:183,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:183,1
    - Dst: Expr::NegPred
      Src: /src/pest/meta/src/parser.rs:184,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:184,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:184,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/parser.rs:185,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:186,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:186,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:187,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:187,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/parser.rs:189,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:190,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:190,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:191,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:191,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/parser.rs:193,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:193,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:193,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/parser.rs:194,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:194,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:194,1
    - Dst: Expr::RepOnce
      Src: /src/pest/meta/src/parser.rs:195,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:195,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:195,1
    - Dst: Expr::RepExact
      Src: /src/pest/meta/src/parser.rs:196,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:196,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:196,1
    - Dst: Expr::RepMin
      Src: /src/pest/meta/src/parser.rs:197,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:197,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:197,1
    - Dst: Expr::RepMax
      Src: /src/pest/meta/src/parser.rs:198,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:198,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:198,1
    - Dst: Expr::RepMinMax
      Src: /src/pest/meta/src/parser.rs:200,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:200,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:200,1
    - Dst: Expr::Push
      Src: /src/pest/meta/src/parser.rs:202,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:202,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:202,1
    - Dst: Expr::PushLiteral
      Src: /src/pest/meta/src/parser.rs:204,1
    - Dst: Expr::NodeTag
      Src: /src/pest/meta/src/parser.rs:206,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:206,1
    - Dst: convert_node
      Src: /src/pest/meta/src/parser.rs:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - node
    argTypes:
    - ParserNode<'_>
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: convert_node
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 2
    functionsReached:
    - Expr::Ident
    - Expr::RepExact
    - Expr::RepMax
    - Expr::Insens
    - Expr::RepMinMax
    - Expr::PushLiteral
    - Expr::NegPred
    - Expr::PeekSlice
    - Expr::Opt
    - Expr::Range
    - Expr::NodeTag
    - Expr::Rep
    - Expr::Seq
    - convert_node
    - Expr::RepOnce
    - Expr::RepMin
    - Expr::PosPred
    - Box::new
    - Expr::Choice
    - Expr::Str
    - Expr::Push
    linkageType: ''
    returnType: Expr
    signature: 'fn convert_node(node: ParserNode<''_>) -> Expr'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:212,1
    - Dst: validator::validate_ast
      Src: /src/pest/meta/src/parser.rs:213,1
    - Dst: is_empty
      Src: /src/pest/meta/src/parser.rs:214,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:215,1
    - Dst: '& ''static [Rule]::into_iter'
      Src: /src/pest/meta/src/parser.rs:215,1
    - Dst: map
      Src: /src/pest/meta/src/parser.rs:215,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:215,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs<'_, Rule>
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 16
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: consume_rules
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 23
    functionsReached:
    - validator::validate_ast
    - collect
    - Ok
    - Err
    - is_empty
    - consume_rules_with_spans
    - '& ''static [Rule]::into_iter'
    - map
    linkageType: ''
    returnType: Result
    signature: 'pub fn consume_rules(pairs: Pairs<''_, Rule>) -> Result<Vec<AstRule>,
      Vec<Error<Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:226,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:227,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:228,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:229,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:230,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:231,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:232,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:233,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:234,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:235,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:236,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:237,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:238,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:239,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:240,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:241,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:242,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:243,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:244,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:245,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:246,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:247,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:248,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:249,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:250,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:251,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:252,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - rule
    argTypes:
    - '&Rule'
    constantsTouched: []
    func_position:
      end: 256
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 256
    functionName: rename_meta_rule
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - '&str::to_owned'
    linkageType: ''
    returnType: String
    signature: 'pub fn rename_meta_rule(rule: &Rule) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrattParser::new
      Src: /src/pest/meta/src/parser.rs:261,1
    - Dst: Self::op
      Src: /src/pest/meta/src/parser.rs:261,1
    - Dst: Op::infix
      Src: /src/pest/meta/src/parser.rs:262,1
    - Dst: op
      Src: /src/pest/meta/src/parser.rs:261,1
    - Dst: Op::infix
      Src: /src/pest/meta/src/parser.rs:263,1
    - Dst: Result::filter
      Src: /src/pest/meta/src/parser.rs:265,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/parser.rs:266,1
    - Dst: filter
      Src: /src/pest/meta/src/parser.rs:265,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:269,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:269,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:270,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:270,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/parser.rs:272,1
    - Dst: map
      Src: /src/pest/meta/src/parser.rs:265,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:275,1
    - Dst: Pairs::peekable
      Src: /src/pest/meta/src/parser.rs:275,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:277,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:277,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:277,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/meta/src/parser.rs:278,1
    - Dst: '&''a str::to_owned'
      Src: /src/pest/meta/src/parser.rs:278,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:280,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:280,1
    - Dst: Result::peek
      Src: /src/pest/meta/src/parser.rs:282,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/meta/src/parser.rs:282,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:282,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:283,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:283,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:283,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:294,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:294,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:297,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:297,1
    - Dst: into_inner
      Src: /src/pest/meta/src/parser.rs:297,1
    - Dst: peekable
      Src: /src/pest/meta/src/parser.rs:297,1
    - Dst: peek
      Src: /src/pest/meta/src/parser.rs:298,1
    - Dst: unwrap
      Src: /src/pest/meta/src/parser.rs:298,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:298,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:299,1
    - Dst: unwrap
      Src: /src/pest/meta/src/parser.rs:299,1
    - Dst: consume_expr
      Src: /src/pest/meta/src/parser.rs:302,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:304,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 99
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs<'_, Rule>
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 15
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: consume_rules_with_spans
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 11
    functionsReached:
    - Result::filter
    - next
    - PrattParser::new
    - Result::next
    - consume_expr
    - ParseResult::into_inner
    - Result::peek
    - Pairs::peekable
    - unwrap
    - Self::op
    - as_span
    - peek
    - as_rule
    - peekable
    - ParseResult::unwrap
    - ParseResult::clone
    - FlatPairs::into_inner
    - '&''a str::to_owned'
    - into_inner
    - collect
    - op
    - ParseResult::as_rule
    - map
    - LinesSpan::as_str
    - Op::infix
    - Ok
    - filter
    - Option::unwrap
    linkageType: ''
    returnType: Result
    signature: 'fn consume_rules_with_spans(pairs: Pairs<''_, Rule>,) -> Result<Vec<ParserRule<''_>>,
      Vec<Error<Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:317,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:317,1
    - Dst: Result::peek
      Src: /src/pest/meta/src/parser.rs:318,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:319,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:320,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:320,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:321,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:321,1
    - Dst: Some
      Src: /src/pest/meta/src/parser.rs:324,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:325,1
    - Dst: to_string
      Src: /src/pest/meta/src/parser.rs:325,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:326,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - '&mut Peekable<Pairs<''i, Rule>>'
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 16
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: get_node_tag
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 1
    functionsReached:
    - start_pos
    - Some
    - Result::peek
    - to_string
    - as_span
    - as_str
    - Result::next
    - as_rule
    - Option::unwrap
    linkageType: ''
    returnType: (Pair
    signature: 'fn get_node_tag<''i>(pairs: &mut Peekable<Pairs<''i, Rule>>,) -> (Pair<''i,
      Rule>, Option<(String, Position<''i>)>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_node_tag
      Src: /src/pest/meta/src/parser.rs:346,1
    - Dst: get_node_tag
      Src: /src/pest/meta/src/parser.rs:348,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/parser.rs:350,1
    - Dst: unaries
      Src: /src/pest/meta/src/parser.rs:352,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:353,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:357,1
    - Dst: Span::start_pos
      Src: /src/pest/meta/src/parser.rs:357,1
    - Dst: position::Position::span
      Src: /src/pest/meta/src/parser.rs:357,1
    - Dst: unaries
      Src: /src/pest/meta/src/parser.rs:361,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:362,1
    - Dst: ParserExpr::PosPred
      Src: /src/pest/meta/src/parser.rs:365,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:365,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:366,1
    - Dst: Span::start_pos
      Src: /src/pest/meta/src/parser.rs:366,1
    - Dst: position::Position::span
      Src: /src/pest/meta/src/parser.rs:366,1
    - Dst: unaries
      Src: /src/pest/meta/src/parser.rs:370,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:371,1
    - Dst: ParserExpr::NegPred
      Src: /src/pest/meta/src/parser.rs:374,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:374,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:375,1
    - Dst: Span::start_pos
      Src: /src/pest/meta/src/parser.rs:375,1
    - Dst: position::Position::span
      Src: /src/pest/meta/src/parser.rs:375,1
    - Dst: consume_expr
      Src: /src/pest/meta/src/parser.rs:380,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:380,1
    - Dst: Pairs::peekable
      Src: /src/pest/meta/src/parser.rs:380,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:382,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:382,1
    - Dst: Span::start_pos
      Src: /src/pest/meta/src/parser.rs:382,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:383,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:384,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:384,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:385,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:385,1
    - Dst: consume_expr
      Src: /src/pest/meta/src/parser.rs:387,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:387,1
    - Dst: Pairs::peekable
      Src: /src/pest/meta/src/parser.rs:387,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:388,1
    - Dst: ParserExpr::Push
      Src: /src/pest/meta/src/parser.rs:391,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:391,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:392,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:397,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:398,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:398,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:399,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:399,1
    - Dst: unescape
      Src: /src/pest/meta/src/parser.rs:401,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:401,1
    - Dst: Option::expect
      Src: /src/pest/meta/src/parser.rs:401,1
    - Dst: ParserExpr::PushLiteral
      Src: /src/pest/meta/src/parser.rs:403,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:403,1
    - Dst: to_owned
      Src: /src/pest/meta/src/parser.rs:403,1
    - Dst: clone
      Src: /src/pest/meta/src/parser.rs:404,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:404,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:409,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:417,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:417,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:418,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:418,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:419,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:419,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:420,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:423,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:423,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:424,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:424,1
    - Dst: unwrap
      Src: /src/pest/meta/src/parser.rs:424,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:428,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:428,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:429,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:432,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:432,1
    - Dst: Some
      Src: /src/pest/meta/src/parser.rs:433,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:433,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:433,1
    - Dst: unwrap
      Src: /src/pest/meta/src/parser.rs:433,1
    - Dst: ParserExpr::PeekSlice
      Src: /src/pest/meta/src/parser.rs:438,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:439,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/parser.rs:443,1
    - Dst: ParseResult::as_str
      Src: /src/pest/meta/src/parser.rs:443,1
    - Dst: '&''a str::to_owned'
      Src: /src/pest/meta/src/parser.rs:443,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:444,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:444,1
    - Dst: unescape
      Src: /src/pest/meta/src/parser.rs:447,1
    - Dst: ParseResult::as_str
      Src: /src/pest/meta/src/parser.rs:447,1
    - Dst: Option::expect
      Src: /src/pest/meta/src/parser.rs:447,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/parser.rs:449,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:449,1
    - Dst: to_owned
      Src: /src/pest/meta/src/parser.rs:449,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:450,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:450,1
    - Dst: unescape
      Src: /src/pest/meta/src/parser.rs:454,1
    - Dst: ParseResult::as_str
      Src: /src/pest/meta/src/parser.rs:454,1
    - Dst: Option::expect
      Src: /src/pest/meta/src/parser.rs:454,1
    - Dst: ParserExpr::Insens
      Src: /src/pest/meta/src/parser.rs:456,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:456,1
    - Dst: to_owned
      Src: /src/pest/meta/src/parser.rs:456,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:457,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:457,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:461,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:462,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:462,1
    - Dst: unescape
      Src: /src/pest/meta/src/parser.rs:463,1
    - Dst: ParseResult::as_str
      Src: /src/pest/meta/src/parser.rs:463,1
    - Dst: Option::expect
      Src: /src/pest/meta/src/parser.rs:463,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:464,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:464,1
    - Dst: Span::start_pos
      Src: /src/pest/meta/src/parser.rs:464,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:465,1
    - Dst: Result::next
      Src: /src/pest/meta/src/parser.rs:466,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:466,1
    - Dst: unescape
      Src: /src/pest/meta/src/parser.rs:467,1
    - Dst: ParseResult::as_str
      Src: /src/pest/meta/src/parser.rs:467,1
    - Dst: Option::expect
      Src: /src/pest/meta/src/parser.rs:467,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:468,1
    - Dst: FlatPairs::as_span
      Src: /src/pest/meta/src/parser.rs:468,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:468,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/parser.rs:471,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:472,1
    - Dst: to_owned
      Src: /src/pest/meta/src/parser.rs:472,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:473,1
    - Dst: to_owned
      Src: /src/pest/meta/src/parser.rs:473,1
    - Dst: position::Position::span
      Src: /src/pest/meta/src/parser.rs:475,1
    - Dst: Result::try_fold
      Src: /src/pest/meta/src/parser.rs:481,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/parser.rs:482,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:484,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/parser.rs:486,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:486,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:487,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:487,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:487,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:491,1
    - Dst: ParserExpr::Rep
      Src: /src/pest/meta/src/parser.rs:493,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:493,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:494,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:494,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:494,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:498,1
    - Dst: ParserExpr::RepOnce
      Src: /src/pest/meta/src/parser.rs:500,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:500,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:501,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:501,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:501,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:505,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:505,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:507,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:507,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:509,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:509,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:510,1
    - Dst: as_str().parse::<u32>
      Src: /src/pest/meta/src/parser.rs:510,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:513,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/parser.rs:522,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:524,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:526,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:529,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:532,1
    - Dst: ParserExpr::RepExact
      Src: /src/pest/meta/src/parser.rs:534,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:534,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:535,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:535,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:535,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:539,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:539,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:541,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:541,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:543,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:543,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:544,1
    - Dst: as_str().parse::<u32>
      Src: /src/pest/meta/src/parser.rs:544,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:547,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:555,1
    - Dst: ParserExpr::RepMin
      Src: /src/pest/meta/src/parser.rs:557,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:557,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:558,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:558,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:558,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:562,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:562,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:564,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:564,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:565,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:565,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:567,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:567,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:568,1
    - Dst: as_str().parse::<u32>
      Src: /src/pest/meta/src/parser.rs:568,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:571,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/parser.rs:580,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:582,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:584,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:587,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:590,1
    - Dst: ParserExpr::RepMax
      Src: /src/pest/meta/src/parser.rs:592,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:592,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:593,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:593,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:593,1
    - Dst: ParseResult::clone
      Src: /src/pest/meta/src/parser.rs:597,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/meta/src/parser.rs:597,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:599,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:599,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:601,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:601,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:602,1
    - Dst: as_str().parse::<u32>
      Src: /src/pest/meta/src/parser.rs:602,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:605,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:613,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:613,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/parser.rs:615,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/parser.rs:615,1
    - Dst: as_str
      Src: /src/pest/meta/src/parser.rs:616,1
    - Dst: as_str().parse::<u32>
      Src: /src/pest/meta/src/parser.rs:616,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:619,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/parser.rs:628,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/parser.rs:630,1
    - Dst: as_span
      Src: /src/pest/meta/src/parser.rs:632,1
    - Dst: Err
      Src: /src/pest/meta/src/parser.rs:635,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:638,1
    - Dst: ParserExpr::RepMinMax
      Src: /src/pest/meta/src/parser.rs:640,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:640,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:641,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:641,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:641,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:645,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:649,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/parser.rs:649,1
    - Dst: Span::end_pos
      Src: /src/pest/meta/src/parser.rs:649,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:655,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:661,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:661,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:662,1
    - Dst: ParserExpr::NodeTag
      Src: /src/pest/meta/src/parser.rs:663,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:663,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:667,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:670,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 539
    argCount: 2
    argNames:
    - pairs
    - pratt
    argTypes:
    - Peekable<Pairs<'i, Rule>>
    - '&PrattParser<Rule>'
    constantsTouched: []
    func_position:
      end: 671
      start: 341
    functionDepth: 17
    functionLinenumber: 341
    functionLinenumberEnd: 671
    functionName: c::o::n::s::u::m::e::_::e::x::p::r::unaries
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - Span::start_pos
    - ParserExpr::NodeTag
    - as_str().parse::<u32>
    - parse
    - ParserExpr::Rep
    - ParserExpr::RepMinMax
    - ParserExpr::PeekSlice
    - unaries
    - Result::next
    - consume_expr
    - ParserExpr::RepMax
    - to_owned
    - ParseResult::into_inner
    - Some
    - ParserExpr::Range
    - Pairs::peekable
    - unwrap
    - ParserExpr::NegPred
    - as_span
    - Err
    - ParserExpr::PushLiteral
    - FlatPairs::as_span
    - as_rule
    - Error::new_from_span
    - ParseResult::clone
    - unescape
    - FlatPairs::into_inner
    - '&''a str::to_owned'
    - start_pos
    - ParserExpr::RepOnce
    - ParserExpr::RepExact
    - ParseResult::as_span
    - get_node_tag
    - Result::try_fold
    - ParserExpr::Insens
    - Span::end_pos
    - as_str
    - '&str::to_owned'
    - len
    - ParserExpr::Str
    - ParserExpr::Push
    - position::Position::span
    - ParseResult::as_rule
    - ParserExpr::Opt
    - span
    - Pairs::next
    - ParseResult::as_str
    - Option::expect
    - ParserExpr::RepMin
    - end_pos
    - ParserExpr::Ident
    - clone
    - ParserExpr::PosPred
    - Ok
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: Result
    signature: 'fn unaries<''i>(mut pairs: Peekable<Pairs<''i, Rule>>,pratt: &PrattParser<Rule>,)
      -> Result<ParserNode<''i>, Vec<Error<Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unaries
      Src: /src/pest/meta/src/parser.rs:673,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/parser.rs:673,1
    - Dst: Pairs::peekable
      Src: /src/pest/meta/src/parser.rs:673,1
    - Dst: as_rule
      Src: /src/pest/meta/src/parser.rs:676,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:681,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:682,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:684,1
    - Dst: ParserExpr::Seq
      Src: /src/pest/meta/src/parser.rs:685,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:685,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:685,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:686,1
    - Dst: start_pos
      Src: /src/pest/meta/src/parser.rs:693,1
    - Dst: end_pos
      Src: /src/pest/meta/src/parser.rs:694,1
    - Dst: Ok
      Src: /src/pest/meta/src/parser.rs:696,1
    - Dst: ParserExpr::Choice
      Src: /src/pest/meta/src/parser.rs:697,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:697,1
    - Dst: Box::new
      Src: /src/pest/meta/src/parser.rs:697,1
    - Dst: span
      Src: /src/pest/meta/src/parser.rs:698,1
    - Dst: '&PrattParser<Rule>::map_primary'
      Src: /src/pest/meta/src/parser.rs:704,1
    - Dst: PrattParserMap::map_infix
      Src: /src/pest/meta/src/parser.rs:704,1
    - Dst: Self::parse
      Src: /src/pest/meta/src/parser.rs:704,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 587
    argCount: 2
    argNames:
    - pairs
    - pratt
    argTypes:
    - Peekable<Pairs<'i, Rule>>
    - '&PrattParser<Rule>'
    constantsTouched: []
    func_position:
      end: 705
      start: 337
    functionDepth: 18
    functionLinenumber: 337
    functionLinenumberEnd: 705
    functionName: consume_expr
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 2
    functionsReached:
    - start_pos
    - ParserExpr::Seq
    - ParseResult::into_inner
    - span
    - '&PrattParser<Rule>::map_primary'
    - PrattParserMap::map_infix
    - Pairs::peekable
    - Self::parse
    - end_pos
    - Ok
    - unaries
    - Box::new
    - ParserExpr::Choice
    - as_rule
    linkageType: ''
    returnType: Result
    signature: 'fn consume_expr<''i>(pairs: Peekable<Pairs<''i, Rule>>,pratt: &PrattParser<Rule>,)
      -> Result<ParserNode<''i>, Vec<Error<Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/pest/meta/src/parser.rs:708,1
    - Dst: chars
      Src: /src/pest/meta/src/parser.rs:709,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:712,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:713,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:714,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:715,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:716,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:717,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:718,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:719,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:720,1
    - Dst: clone
      Src: /src/pest/meta/src/parser.rs:722,1
    - Dst: take
      Src: /src/pest/meta/src/parser.rs:722,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:722,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:724,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:728,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:729,1
    - Dst: u8::from_str_radix
      Src: /src/pest/meta/src/parser.rs:732,1
    - Dst: ok
      Src: /src/pest/meta/src/parser.rs:732,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:734,1
    - Dst: char::from
      Src: /src/pest/meta/src/parser.rs:734,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:737,1
    - Dst: clone
      Src: /src/pest/meta/src/parser.rs:741,1
    - Dst: take_while
      Src: /src/pest/meta/src/parser.rs:741,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:741,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:743,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:743,1
    - Dst: len
      Src: /src/pest/meta/src/parser.rs:747,1
    - Dst: next
      Src: /src/pest/meta/src/parser.rs:748,1
    - Dst: u32::from_str_radix
      Src: /src/pest/meta/src/parser.rs:751,1
    - Dst: ok
      Src: /src/pest/meta/src/parser.rs:751,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:753,1
    - Dst: char::from_u32
      Src: /src/pest/meta/src/parser.rs:753,1
    - Dst: push
      Src: /src/pest/meta/src/parser.rs:757,1
    - Dst: Some
      Src: /src/pest/meta/src/parser.rs:758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 111
    argCount: 1
    argNames:
    - string
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 761
      start: 707
    functionDepth: 16
    functionLinenumber: 707
    functionLinenumberEnd: 761
    functionName: unescape
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 1
    functionsReached:
    - char::from
    - Some
    - chars
    - ok
    - next
    - collect
    - u32::from_str_radix
    - u8::from_str_radix
    - String::new
    - clone
    - len
    - push
    - take_while
    - take
    - char::from_u32
    linkageType: ''
    returnType: Option
    signature: 'fn unescape(string: &str) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 771
    functionDepth: 14
    functionLinenumber: 771
    functionLinenumberEnd: 801
    functionName: tests::rules
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn rules()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 804
    functionDepth: 14
    functionLinenumber: 804
    functionLinenumberEnd: 828
    functionName: tests::rule
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn rule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 831
    functionDepth: 14
    functionLinenumber: 831
    functionLinenumberEnd: 887
    functionName: tests::expression
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn expression()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 890
    functionDepth: 14
    functionLinenumber: 890
    functionLinenumberEnd: 903
    functionName: tests::repeat_exact
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_exact()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: tests::repeat_min
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn repeat_min()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 937
    functionName: tests::repeat_max
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn repeat_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 955
      start: 940
    functionDepth: 14
    functionLinenumber: 940
    functionLinenumberEnd: 955
    functionName: tests::repeat_min_max
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: tests::push
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn push()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 978
    functionDepth: 14
    functionLinenumber: 978
    functionLinenumberEnd: 991
    functionName: tests::peek_slice_all
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_slice_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 994
    functionDepth: 14
    functionLinenumber: 994
    functionLinenumberEnd: 1008
    functionName: tests::peek_slice_start
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_slice_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1011
    functionDepth: 14
    functionLinenumber: 1011
    functionLinenumberEnd: 1025
    functionName: tests::peek_slice_end
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_slice_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1028
    functionDepth: 14
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    functionName: tests::peek_slice_start_end
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_slice_start_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 14
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: tests::identifier
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn identifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: tests::string
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1074
    functionDepth: 14
    functionLinenumber: 1074
    functionLinenumberEnd: 1089
    functionName: tests::insensitive_string
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn insensitive_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: tests::range
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1116
    functionDepth: 14
    functionLinenumber: 1116
    functionLinenumberEnd: 1129
    functionName: tests::character
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn character()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1132
    functionDepth: 14
    functionLinenumber: 1132
    functionLinenumberEnd: 1141
    functionName: tests::number
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1144
    functionDepth: 14
    functionLinenumber: 1144
    functionLinenumberEnd: 1161
    functionName: tests::comment
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn comment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/meta/src/parser.rs:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1164
    functionDepth: 14
    functionLinenumber: 1164
    functionLinenumberEnd: 1196
    functionName: tests::grammar_doc_and_line_doc
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn grammar_doc_and_line_doc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1199
    functionDepth: 14
    functionLinenumber: 1199
    functionLinenumberEnd: 1208
    functionName: tests::wrong_identifier
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_identifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1211
    functionDepth: 14
    functionLinenumber: 1211
    functionLinenumberEnd: 1220
    functionName: tests::missing_assignment_operator
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn missing_assignment_operator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1223
    functionDepth: 14
    functionLinenumber: 1223
    functionLinenumberEnd: 1238
    functionName: tests::wrong_modifier
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_modifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1241
    functionDepth: 14
    functionLinenumber: 1241
    functionLinenumberEnd: 1250
    functionName: tests::missing_opening_brace
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn missing_opening_brace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1253
    functionDepth: 14
    functionLinenumber: 1253
    functionLinenumberEnd: 1262
    functionName: tests::empty_rule
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn empty_rule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1265
    functionDepth: 14
    functionLinenumber: 1265
    functionLinenumberEnd: 1274
    functionName: tests::missing_rhs
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn missing_rhs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1277
    functionDepth: 14
    functionLinenumber: 1277
    functionLinenumberEnd: 1286
    functionName: tests::incorrect_prefix
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn incorrect_prefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1289
    functionDepth: 14
    functionLinenumber: 1289
    functionLinenumberEnd: 1306
    functionName: tests::wrong_op
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_op()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1309
    functionDepth: 14
    functionLinenumber: 1309
    functionLinenumberEnd: 1326
    functionName: tests::missing_closing_paren
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn missing_closing_paren()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1329
    functionDepth: 14
    functionLinenumber: 1329
    functionLinenumberEnd: 1349
    functionName: tests::missing_term
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn missing_term()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1352
    functionDepth: 14
    functionLinenumber: 1352
    functionLinenumberEnd: 1361
    functionName: tests::string_missing_ending_quote
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn string_missing_ending_quote()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1364
    functionDepth: 14
    functionLinenumber: 1364
    functionLinenumberEnd: 1373
    functionName: tests::insensitive_missing_string
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn insensitive_missing_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1376
    functionDepth: 14
    functionLinenumber: 1376
    functionLinenumberEnd: 1385
    functionName: tests::char_missing_ending_single_quote
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn char_missing_ending_single_quote()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1388
    functionDepth: 14
    functionLinenumber: 1388
    functionLinenumberEnd: 1397
    functionName: tests::range_missing_range_operator
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn range_missing_range_operator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 14
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: tests::wrong_postfix
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_postfix()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1135
    functionName: tests::node_tag
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn node_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1438
    functionDepth: 14
    functionLinenumber: 1438
    functionLinenumberEnd: 1449
    functionName: tests::incomplete_node_tag
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn incomplete_node_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1452
    functionDepth: 14
    functionLinenumber: 1452
    functionLinenumberEnd: 1472
    functionName: tests::incomplete_node_tag_assignment
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn incomplete_node_tag_assignment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/meta/src/parser.rs:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1475
    functionDepth: 14
    functionLinenumber: 1475
    functionLinenumberEnd: 1492
    functionName: tests::incomplete_node_tag_pound_key
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn incomplete_node_tag_pound_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1502,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1502,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1503,1
    - Dst: Result::unwrap
      Src: /src/pest/meta/src/parser.rs:1503,1
    - Dst: into_iter
      Src: /src/pest/meta/src/parser.rs:1504,1
    - Dst: map
      Src: /src/pest/meta/src/parser.rs:1504,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1495
    functionDepth: 16
    functionLinenumber: 1495
    functionLinenumberEnd: 1534
    functionName: tests::ast
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - collect
    - PestParser::parse
    - into_iter
    - consume_rules_with_spans
    - map
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn ast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1541,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1541,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1542,1
    - Dst: Result::unwrap
      Src: /src/pest/meta/src/parser.rs:1542,1
    - Dst: into_iter
      Src: /src/pest/meta/src/parser.rs:1543,1
    - Dst: map
      Src: /src/pest/meta/src/parser.rs:1543,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1538
    functionDepth: 16
    functionLinenumber: 1538
    functionLinenumberEnd: 1553
    functionName: tests::ast_push_literal
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - collect
    - PestParser::parse
    - into_iter
    - consume_rules_with_spans
    - map
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn ast_push_literal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1572
    functionName: tests::ast_push_literal_bad_input
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - PestParser::parse
    linkageType: ''
    returnType: void
    signature: fn ast_push_literal_bad_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1578,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1578,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1579,1
    - Dst: Result::unwrap
      Src: /src/pest/meta/src/parser.rs:1579,1
    - Dst: into_iter
      Src: /src/pest/meta/src/parser.rs:1580,1
    - Dst: map
      Src: /src/pest/meta/src/parser.rs:1580,1
    - Dst: collect
      Src: /src/pest/meta/src/parser.rs:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1575
    functionDepth: 16
    functionLinenumber: 1575
    functionLinenumberEnd: 1593
    functionName: tests::ast_peek_slice
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - collect
    - PestParser::parse
    - into_iter
    - consume_rules_with_spans
    - map
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn ast_peek_slice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1607,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1607,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1608,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1604
    functionDepth: 16
    functionLinenumber: 1604
    functionLinenumberEnd: 1609
    functionName: tests::repeat_exact_overflow
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_exact_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1623,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1623,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1624,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1620
    functionDepth: 16
    functionLinenumber: 1620
    functionLinenumberEnd: 1625
    functionName: tests::repeat_exact_zero
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_exact_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1639,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1639,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1640,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 16
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: tests::repeat_min_overflow
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_min_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1655,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1655,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1656,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1652
    functionDepth: 16
    functionLinenumber: 1652
    functionLinenumberEnd: 1657
    functionName: tests::repeat_max_overflow
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_max_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1671,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1671,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1672,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1668
    functionDepth: 16
    functionLinenumber: 1668
    functionLinenumberEnd: 1673
    functionName: tests::repeat_max_zero
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_max_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1687,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1687,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1688,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 16
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: tests::repeat_min_max_overflow
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/parser.rs:1703,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/parser.rs:1703,1
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/parser.rs:1704,1
    - Dst: consume_rules_with_spans
      Src: /src/pest/meta/src/parser.rs:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1700
    functionDepth: 16
    functionLinenumber: 1700
    functionLinenumberEnd: 1705
    functionName: tests::repeat_min_max_zero
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - consume_rules_with_spans
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1712
    functionName: tests::unescape_all
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1719
    functionName: tests::unescape_empty_escape
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_empty_escape()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1726
    functionName: tests::unescape_wrong_escape
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_wrong_escape()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1732
    functionName: tests::unescape_backslash
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_backslash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1738
    functionName: tests::unescape_return
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_return()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1744
    functionName: tests::unescape_tab
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_tab()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1750
    functionName: tests::unescape_null
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1756
    functionName: tests::unescape_single_quote
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_single_quote()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1763
    functionName: tests::unescape_wrong_byte
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_wrong_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1770
    functionName: tests::unescape_short_byte
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_short_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1777
    functionName: tests::unescape_no_open_brace_unicode
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_no_open_brace_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1784
    functionName: tests::unescape_no_close_brace_unicode
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_no_close_brace_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1791
    functionName: tests::unescape_short_unicode
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_short_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1798
    functionName: tests::unescape_long_unicode
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unescape_long_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::set_call_limit
      Src: /src/pest/meta/src/parser.rs:1823,1
    - Dst: Some
      Src: /src/pest/meta/src/parser.rs:1823,1
    - Dst: try_into
      Src: /src/pest/meta/src/parser.rs:1823,1
    - Dst: unwrap
      Src: /src/pest/meta/src/parser.rs:1823,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:1824,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:1827,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:1830,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:1833,1
    - Dst: parse
      Src: /src/pest/meta/src/parser.rs:1836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1801
    functionDepth: 18
    functionLinenumber: 1801
    functionLinenumberEnd: 1839
    functionName: tests::handles_deep_nesting
    functionSourceFile: /src/pest/meta/src/parser.rs
    functionUses: 0
    functionsReached:
    - Some
    - parse
    - unwrap
    - pest::set_call_limit
    - try_into
    linkageType: ''
    returnType: void
    signature: fn handles_deep_nesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_else
      Src: /src/pest/meta/src/lib.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - Result<T, E>
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: unwrap_or_report
    functionSourceFile: /src/pest/meta/src/lib.rs
    functionUses: 31
    functionsReached:
    - unwrap_or_else
    linkageType: ''
    returnType: T
    signature: 'pub fn unwrap_or_report<T, E>(result: Result<T, E>) -> TwhereE: IntoIterator,E::Item:
      Display,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser::parse
      Src: /src/pest/meta/src/lib.rs:62,1
    - Dst: Ok
      Src: /src/pest/meta/src/lib.rs:63,1
    - Dst: Err
      Src: /src/pest/meta/src/lib.rs:64,1
    - Dst: validator::validate_pairs
      Src: /src/pest/meta/src/lib.rs:67,1
    - Dst: Result::clone
      Src: /src/pest/meta/src/lib.rs:67,1
    - Dst: parser::consume_rules
      Src: /src/pest/meta/src/lib.rs:68,1
    - Dst: Ok
      Src: /src/pest/meta/src/lib.rs:70,1
    - Dst: optimizer::optimize
      Src: /src/pest/meta/src/lib.rs:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - grammar
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 18
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: parse_and_optimize
    functionSourceFile: /src/pest/meta/src/lib.rs
    functionUses: 1
    functionsReached:
    - parser::parse
    - parser::consume_rules
    - optimizer::optimize
    - validator::validate_pairs
    - Err
    - Ok
    - Result::clone
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_and_optimize(grammar: &str,) -> Result<UsedBuiltinAndOptimized<''_>,
      Vec<Error<parser::Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExprTopDownIterator::new
      Src: /src/pest/meta/src/ast.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Expr::iter_top_down
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - ExprTopDownIterator::new
    linkageType: ''
    returnType: ExprTopDownIterator
    signature: pub fn iter_top_down(&self) -> ExprTopDownIterator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/pest/meta/src/ast.rs:120,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:124,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:124,1
    - Dst: Expr::PosPred
      Src: /src/pest/meta/src/ast.rs:125,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:128,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:128,1
    - Dst: Expr::NegPred
      Src: /src/pest/meta/src/ast.rs:129,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:132,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:132,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:133,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:133,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/ast.rs:134,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:137,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:137,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:138,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:138,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/ast.rs:139,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:142,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:142,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/ast.rs:143,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:146,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:146,1
    - Dst: Expr::RepOnce
      Src: /src/pest/meta/src/ast.rs:147,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:150,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:150,1
    - Dst: Expr::RepExact
      Src: /src/pest/meta/src/ast.rs:151,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:154,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:154,1
    - Dst: Expr::RepMin
      Src: /src/pest/meta/src/ast.rs:155,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:158,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:158,1
    - Dst: Expr::RepMax
      Src: /src/pest/meta/src/ast.rs:159,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:162,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:162,1
    - Dst: Expr::RepMinMax
      Src: /src/pest/meta/src/ast.rs:163,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:166,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:166,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/ast.rs:167,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:170,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:170,1
    - Dst: Expr::Push
      Src: /src/pest/meta/src/ast.rs:171,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:175,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:175,1
    - Dst: Expr::NodeTag
      Src: /src/pest/meta/src/ast.rs:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 2
    argNames:
    - expr
    - f
    argTypes:
    - Expr
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 180
      start: 116
    functionDepth: 19
    functionLinenumber: 116
    functionLinenumberEnd: 180
    functionName: E::x::p::r::::::::m::a::p::_::t::o::p::_::d::o::w::n::map_internal
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - Expr::Opt
    - Expr::RepMinMax
    - map_internal
    - Expr::RepOnce
    - Expr::NodeTag
    - Expr::RepMin
    - Expr::Rep
    - Expr::PosPred
    - Expr::Seq
    - Expr::RepExact
    - f
    - Box::new
    - Expr::Choice
    - Expr::RepMax
    - Expr::NegPred
    - Expr::Push
    linkageType: ''
    returnType: Expr
    signature: 'fn map_internal<F>(expr: Expr, f: &mut F) -> ExprwhereF: FnMut(Expr)
      -> Expr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 183
      start: 112
    functionDepth: 20
    functionLinenumber: 112
    functionLinenumberEnd: 183
    functionName: Expr::map_top_down
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - map_internal
    linkageType: ''
    returnType: Expr
    signature: 'pub fn map_top_down<F>(self, mut f: F) -> ExprwhereF: FnMut(Expr)
      -> Expr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:196,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:196,1
    - Dst: Expr::PosPred
      Src: /src/pest/meta/src/ast.rs:197,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:200,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:200,1
    - Dst: Expr::NegPred
      Src: /src/pest/meta/src/ast.rs:201,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:204,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:204,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:205,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:205,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/ast.rs:206,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:209,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:209,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:210,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:210,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/ast.rs:211,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:214,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:214,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/ast.rs:215,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:218,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:218,1
    - Dst: Expr::RepOnce
      Src: /src/pest/meta/src/ast.rs:219,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:222,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:222,1
    - Dst: Expr::RepExact
      Src: /src/pest/meta/src/ast.rs:223,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:226,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:226,1
    - Dst: Expr::RepMin
      Src: /src/pest/meta/src/ast.rs:227,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:230,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:230,1
    - Dst: Expr::RepMax
      Src: /src/pest/meta/src/ast.rs:231,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:234,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:234,1
    - Dst: Expr::RepMinMax
      Src: /src/pest/meta/src/ast.rs:235,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:238,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:238,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/ast.rs:239,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:242,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:242,1
    - Dst: Expr::Push
      Src: /src/pest/meta/src/ast.rs:243,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:247,1
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:247,1
    - Dst: Expr::NodeTag
      Src: /src/pest/meta/src/ast.rs:248,1
    - Dst: f
      Src: /src/pest/meta/src/ast.rs:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 2
    argNames:
    - expr
    - f
    argTypes:
    - Expr
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 254
      start: 190
    functionDepth: 20
    functionLinenumber: 190
    functionLinenumberEnd: 254
    functionName: E::x::p::r::::::::m::a::p::_::b::o::t::t::o::m::_::u::p::map_internal
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - Expr::Opt
    - Expr::RepMinMax
    - map_internal
    - Expr::RepOnce
    - Expr::NodeTag
    - Expr::RepMin
    - Expr::Rep
    - Expr::PosPred
    - Expr::Seq
    - Expr::RepExact
    - Expr::RepMax
    - Box::new
    - Expr::Choice
    - f
    - Expr::NegPred
    - Expr::Push
    linkageType: ''
    returnType: Expr
    signature: 'fn map_internal<F>(expr: Expr, f: &mut F) -> ExprwhereF: FnMut(Expr)
      -> Expr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_internal
      Src: /src/pest/meta/src/ast.rs:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 62
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 257
      start: 186
    functionDepth: 20
    functionLinenumber: 186
    functionLinenumberEnd: 257
    functionName: Expr::map_bottom_up
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - map_internal
    linkageType: ''
    returnType: Expr
    signature: 'pub fn map_bottom_up<F>(self, mut f: F) -> ExprwhereF: FnMut(Expr)
      -> Expr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/meta/src/ast.rs:266,1
    - Dst: next
      Src: /src/pest/meta/src/ast.rs:266,1
    - Dst: expect
      Src: /src/pest/meta/src/ast.rs:266,1
    - Dst: chars
      Src: /src/pest/meta/src/ast.rs:267,1
    - Dst: next
      Src: /src/pest/meta/src/ast.rs:267,1
    - Dst: expect
      Src: /src/pest/meta/src/ast.rs:267,1
    - Dst: Vec::new
      Src: /src/pest/meta/src/ast.rs:278,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:279,1
    - Dst: rhs::as_ref
      Src: /src/pest/meta/src/ast.rs:281,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:282,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:285,1
    - Dst: Self::iter
      Src: /src/pest/meta/src/ast.rs:286,1
    - Dst: map
      Src: /src/pest/meta/src/ast.rs:286,1
    - Dst: "iter()\n                    .map(|node| format!(\"{}\", node))\n     \
        \               .collect::<Vec<_>>"
      Src: /src/pest/meta/src/ast.rs:286,1
    - Dst: join
      Src: /src/pest/meta/src/ast.rs:286,1
    - Dst: Vec::new
      Src: /src/pest/meta/src/ast.rs:294,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:295,1
    - Dst: rhs::as_ref
      Src: /src/pest/meta/src/ast.rs:297,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:298,1
    - Dst: Self::push
      Src: /src/pest/meta/src/ast.rs:301,1
    - Dst: Self::iter
      Src: /src/pest/meta/src/ast.rs:302,1
    - Dst: map
      Src: /src/pest/meta/src/ast.rs:302,1
    - Dst: "iter()\n                    .map(|node| format!(\"{}\", node))\n     \
        \               .collect::<Vec<_>>"
      Src: /src/pest/meta/src/ast.rs:302,1
    - Dst: join
      Src: /src/pest/meta/src/ast.rs:302,1
    - Dst: iter
      Src: /src/pest/meta/src/ast.rs:317,1
    - Dst: map
      Src: /src/pest/meta/src/ast.rs:317,1
    - Dst: "iter()\n                    .map(|s| format!(\"{:?}\", s))\n         \
        \           .collect::<Vec<_>>"
      Src: /src/pest/meta/src/ast.rs:317,1
    - Dst: join
      Src: /src/pest/meta/src/ast.rs:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 74
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 332
      start: 261
    functionDepth: 16
    functionLinenumber: 261
    functionLinenumberEnd: 332
    functionName: Expr::fmt
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - chars
    - join
    - next
    - expect
    - Self::iter
    - Self::push
    - iter
    - "iter()\n                    .map(|node| format!(\"{}\", node))\n          \
      \          .collect::<Vec<_>>"
    - "iter()\n                    .map(|s| format!(\"{:?}\", s))\n              \
      \      .collect::<Vec<_>>"
    - rhs::as_ref
    - Vec::new
    - map
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterate_expr
      Src: /src/pest/meta/src/ast.rs:350,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/ast.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - expr
    argTypes:
    - '&Expr'
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: ExprTopDownIterator::new
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 2
    functionsReached:
    - Vec::clone
    - iterate_expr
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(expr: &Expr) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/meta/src/ast.rs:355,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/ast.rs:355,1
    - Dst: push
      Src: /src/pest/meta/src/ast.rs:358,1
    - Dst: Some
      Src: /src/pest/meta/src/ast.rs:359,1
    - Dst: push
      Src: /src/pest/meta/src/ast.rs:362,1
    - Dst: Some
      Src: /src/pest/meta/src/ast.rs:363,1
    - Dst: Some
      Src: /src/pest/meta/src/ast.rs:375,1
    - Dst: Some
      Src: /src/pest/meta/src/ast.rs:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    constantsTouched: []
    func_position:
      end: 385
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 385
    functionName: ExprTopDownIterator::iterate_expr
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 2
    functionsReached:
    - Some
    - push
    - Vec::clone
    linkageType: ''
    returnType: void
    signature: 'fn iterate_expr(&mut self, expr: Expr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/pest/meta/src/ast.rs:392,1
    - Dst: take
      Src: /src/pest/meta/src/ast.rs:394,1
    - Dst: ExprTopDownIterator::iterate_expr
      Src: /src/pest/meta/src/ast.rs:395,1
    - Dst: pop
      Src: /src/pest/meta/src/ast.rs:396,1
    - Dst: ExprTopDownIterator::iterate_expr
      Src: /src/pest/meta/src/ast.rs:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 15
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: ExprTopDownIterator::next
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - ExprTopDownIterator::iterate_expr
    - take
    - pop
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/ast.rs:410,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:411,1
    - Dst: Expr::Str
      Src: /src/pest/meta/src/ast.rs:411,1
    - Dst: String::from
      Src: /src/pest/meta/src/ast.rs:411,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:412,1
    - Dst: Expr::Str
      Src: /src/pest/meta/src/ast.rs:412,1
    - Dst: String::from
      Src: /src/pest/meta/src/ast.rs:412,1
    - Dst: Vec::iter_top_down
      Src: /src/pest/meta/src/ast.rs:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: tests::top_down_iterator
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - Vec::iter_top_down
    - String::from
    - Box::new
    - Expr::Choice
    - Expr::Str
    linkageType: ''
    returnType: void
    signature: fn top_down_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/ast.rs:423,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:424,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/ast.rs:424,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:425,1
    - Dst: Expr::Ident
      Src: /src/pest/meta/src/ast.rs:425,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/ast.rs:425,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:426,1
    - Dst: Expr::Str
      Src: /src/pest/meta/src/ast.rs:426,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/ast.rs:426,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Expr::PosPred
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Expr::NegPred
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/ast.rs:428,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Expr::RepOnce
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/ast.rs:429,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:430,1
    - Dst: Expr::Insens
      Src: /src/pest/meta/src/ast.rs:430,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/ast.rs:430,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:431,1
    - Dst: Expr::Push
      Src: /src/pest/meta/src/ast.rs:431,1
    - Dst: Box::new
      Src: /src/pest/meta/src/ast.rs:431,1
    - Dst: Expr::Range
      Src: /src/pest/meta/src/ast.rs:431,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/ast.rs:432,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/ast.rs:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: tests::identity
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached:
    - Expr::Opt
    - Expr::Range
    - Expr::RepOnce
    - Expr::Ident
    - Expr::Rep
    - Expr::Seq
    - Expr::PosPred
    - '&str::to_owned'
    - Box::new
    - Expr::Choice
    - Expr::Insens
    - Expr::Str
    - Expr::Push
    - Expr::NegPred
    linkageType: ''
    returnType: void
    signature: fn identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: tests::insens
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn insens()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: tests::ident
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn ident()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 799
    functionName: tests::peek_slice
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn peek_slice()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 827
    functionName: tests::pos_pred
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn pos_pred()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 845
    functionName: tests::neg_pred
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn neg_pred()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 936
    functionName: tests::seq
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn seq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:990,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:991,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:991,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:991,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:992,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:992,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:993,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:993,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:993,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:994,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:994,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:995,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:995,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:995,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:996,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:996,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1014
    functionName: tests::choice
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Str
    - '&str::to_owned'
    - Box::new
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: void
    signature: fn choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: tests::opt
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn opt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1024
    functionName: tests::rep
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1041
    functionName: tests::rep_once
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: tests::rep_exact
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep_exact()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: tests::rep_min
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep_min()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: tests::rep_max
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: tests::rep_min_max
    functionSourceFile: /src/pest/meta/src/ast.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rep_min_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Skip
      Src: /src/pest/generator/src/generator.rs:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1057
    functionName: tests::skip
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Skip
    linkageType: ''
    returnType: void
    signature: fn skip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::PushLiteral
      Src: /src/pest/generator/src/generator.rs:1062,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1070
    functionName: tests::push_literal
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::PushLiteral
    - '&str::to_owned'
    linkageType: ''
    returnType: void
    signature: fn push_literal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::clone
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: FlatPairs::filter
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/validator.rs:85,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/validator.rs:86,1
    - Dst: Pairs::next
      Src: /src/pest/meta/src/validator.rs:86,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:86,1
    - Dst: filter
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/validator.rs:87,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/validator.rs:88,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:83,1
    - Dst: Result::clone
      Src: /src/pest/meta/src/validator.rs:91,1
    - Dst: FlatPairs::filter
      Src: /src/pest/meta/src/validator.rs:91,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/validator.rs:93,1
    - Dst: flat_map
      Src: /src/pest/meta/src/validator.rs:91,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/meta/src/validator.rs:95,1
    - Dst: Pairs::flatten
      Src: /src/pest/meta/src/validator.rs:95,1
    - Dst: FlatPairs::skip
      Src: /src/pest/meta/src/validator.rs:95,1
    - Dst: filter
      Src: /src/pest/meta/src/validator.rs:95,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/meta/src/validator.rs:98,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:95,1
    - Dst: ParseResult::as_span
      Src: /src/pest/meta/src/validator.rs:99,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:91,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:105,1
    - Dst: validate_pest_keywords
      Src: /src/pest/meta/src/validator.rs:105,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:106,1
    - Dst: validate_already_defined
      Src: /src/pest/meta/src/validator.rs:106,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:107,1
    - Dst: validate_undefined
      Src: /src/pest/meta/src/validator.rs:107,1
    - Dst: is_empty
      Src: /src/pest/meta/src/validator.rs:109,1
    - Dst: Err
      Src: /src/pest/meta/src/validator.rs:110,1
    - Dst: iter
      Src: /src/pest/meta/src/validator.rs:113,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:113,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/meta/src/validator.rs:113,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:113,1
    - Dst: iter
      Src: /src/pest/meta/src/validator.rs:114,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:114,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/meta/src/validator.rs:114,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:114,1
    - Dst: difference
      Src: /src/pest/meta/src/validator.rs:116,1
    - Dst: Ok
      Src: /src/pest/meta/src/validator.rs:118,1
    - Dst: cloned
      Src: /src/pest/meta/src/validator.rs:118,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 110
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs<'_, Rule>
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 17
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: validate_pairs
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 5
    functionsReached:
    - difference
    - FlatPairs::skip
    - Result::clone
    - ParseResult::into_inner
    - FlatPairs::filter
    - validate_undefined
    - Pairs::flatten
    - extend
    - iter
    - Err
    - validate_already_defined
    - cloned
    - ParseResult::as_span
    - collect
    - ParseResult::as_rule
    - map
    - LinesSpan::as_str
    - Pairs::next
    - Ok
    - filter
    - flat_map
    - is_empty
    - Option::unwrap
    - validate_pest_keywords
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_pairs(pairs: Pairs<''_, Rule>) -> Result<Vec<&str>,
      Vec<Error<Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/pest/meta/src/validator.rs:128,1
    - Dst: contains
      Src: /src/pest/meta/src/validator.rs:130,1
    - Dst: push
      Src: /src/pest/meta/src/validator.rs:131,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - definitions
    argTypes:
    - '&Vec<Span<''_>>'
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 17
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: validate_rust_keywords
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - as_str
    - contains
    - push
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'pub fn validate_rust_keywords(definitions: &Vec<Span<''_>>) -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/pest/meta/src/validator.rs:149,1
    - Dst: contains
      Src: /src/pest/meta/src/validator.rs:151,1
    - Dst: push
      Src: /src/pest/meta/src/validator.rs:152,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - definitions
    argTypes:
    - '&Vec<Span<''_>>'
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 17
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: validate_pest_keywords
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - as_str
    - contains
    - push
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'pub fn validate_pest_keywords(definitions: &Vec<Span<''_>>) -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashSet::new
      Src: /src/pest/meta/src/validator.rs:168,1
    - Dst: as_str
      Src: /src/pest/meta/src/validator.rs:171,1
    - Dst: Vec::contains
      Src: /src/pest/meta/src/validator.rs:173,1
    - Dst: push
      Src: /src/pest/meta/src/validator.rs:174,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:174,1
    - Dst: Vec::insert
      Src: /src/pest/meta/src/validator.rs:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - definitions
    argTypes:
    - '&Vec<Span<''_>>'
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 17
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: validate_already_defined
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - Vec::contains
    - as_str
    - push
    - HashSet::new
    - Vec::insert
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'pub fn validate_already_defined(definitions: &Vec<Span<''_>>) -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Vec<Span<''i>>::iter'
      Src: /src/pest/meta/src/validator.rs:195,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:195,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/meta/src/validator.rs:195,1
    - Dst: HashMap::collect
      Src: /src/pest/meta/src/validator.rs:195,1
    - Dst: AstRule::as_str
      Src: /src/pest/meta/src/validator.rs:198,1
    - Dst: '&Vec<Span<''i>>::contains'
      Src: /src/pest/meta/src/validator.rs:200,1
    - Dst: contains
      Src: /src/pest/meta/src/validator.rs:200,1
    - Dst: push
      Src: /src/pest/meta/src/validator.rs:201,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - definitions
    - called_rules
    argTypes:
    - '&Vec<Span<''i>>'
    - '&Vec<Span<''i>>'
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 16
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: validate_undefined
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - '&Vec<Span<''i>>::contains'
    - '&Vec<Span<''i>>::iter'
    - push
    - Error::new_from_span
    - AstRule::as_str
    - contains
    - map
    - HashMap::collect
    - LinesSpan::as_str
    linkageType: ''
    returnType: Vec
    signature: 'pub fn validate_undefined<''i>(definitions: &Vec<Span<''i>>,called_rules:
      &Vec<Span<''i>>,) -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:227,1
    - Dst: validate_repetition
      Src: /src/pest/meta/src/validator.rs:227,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:228,1
    - Dst: validate_choices
      Src: /src/pest/meta/src/validator.rs:228,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:229,1
    - Dst: validate_whitespace_comment
      Src: /src/pest/meta/src/validator.rs:229,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:230,1
    - Dst: validate_left_recursion
      Src: /src/pest/meta/src/validator.rs:230,1
    - Dst: extend
      Src: /src/pest/meta/src/validator.rs:232,1
    - Dst: validate_tag_silent_rules
      Src: /src/pest/meta/src/validator.rs:232,1
    - Dst: sort_by_key
      Src: /src/pest/meta/src/validator.rs:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a Vec<ParserRule<''i>>'
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 18
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: validate_ast
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - validate_repetition
    - validate_left_recursion
    - validate_whitespace_comment
    - extend
    - validate_tag_silent_rules
    - validate_choices
    - sort_by_key
    linkageType: ''
    returnType: Vec
    signature: 'pub fn validate_ast<''a, ''i: ''a>(rules: &''a Vec<ParserRule<''i>>)
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/meta/src/validator.rs:249,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:249,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:251,1
    - Dst: HashMap::collect
      Src: /src/pest/meta/src/validator.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 16
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - clone
    - map
    - '& ''static [Rule]::iter'
    - HashMap::collect
    linkageType: ''
    returnType: HashMap
    signature: 'fn to_type_hash_map<''a, ''i: ''a>(rules: &''a [ParserRule<''i>],)
      -> HashMap<String, (&''a ParserNode<''i>, RuleType)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&HashMap<String, (&''a ParserNode<''i>, RuleType)>::get'
      Src: /src/pest/meta/src/validator.rs:263,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:265,1
    - Dst: Error::<Rule>::new_from_span
      Src: /src/pest/meta/src/validator.rs:265,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/validator.rs:267,1
    - Dst: contains
      Src: /src/pest/meta/src/validator.rs:272,1
    - Dst: as_str
      Src: /src/pest/meta/src/validator.rs:272,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:273,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:273,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/validator.rs:275,1
    - Dst: check_silent_builtin
      Src: /src/pest/meta/src/validator.rs:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - expr
    - rules_ref
    - span
    argTypes:
    - '&ParserExpr<''i>'
    - '&HashMap<String, (&''a ParserNode<''i>, RuleType)>'
    - Span<'a>
    constantsTouched: []
    func_position:
      end: 297
      start: 256
    functionDepth: 17
    functionLinenumber: 256
    functionLinenumberEnd: 297
    functionName: v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::check_silent_builtin
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Some
    - '&HashMap<String, (&''a ParserNode<''i>, RuleType)>::get'
    - check_silent_builtin
    - Error::<Rule>::new_from_span
    - as_str
    - '&str::to_owned'
    - contains
    - Error::new_from_span
    linkageType: ''
    returnType: Option
    signature: 'fn check_silent_builtin<''a, ''i: ''a>(expr: &ParserExpr<''i>,rules_ref:
      &HashMap<String, (&''a ParserNode<''i>, RuleType)>,span: Span<''a>,) -> Option<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_type_hash_map
      Src: /src/pest/meta/src/validator.rs:299,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:302,1
    - Dst: filter_map_top_down
      Src: /src/pest/meta/src/validator.rs:302,1
    - Dst: check_silent_builtin
      Src: /src/pest/meta/src/validator.rs:304,1
    - Dst: append
      Src: /src/pest/meta/src/validator.rs:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 312
      start: 243
    functionDepth: 17
    functionLinenumber: 243
    functionLinenumberEnd: 312
    functionName: validate_tag_silent_rules
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - filter_map_top_down
    - check_silent_builtin
    - to_type_hash_map
    - append
    - clone
    linkageType: ''
    returnType: Vec
    signature: 'fn validate_tag_silent_rules<''a, ''i: ''a>(rules: &''a [ParserRule<''i>])
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/meta/src/validator.rs:337,1
    - Dst: '&mut Vec<String>::contains'
      Src: /src/pest/meta/src/validator.rs:343,1
    - Dst: '& ''static [Rule]::get'
      Src: /src/pest/meta/src/validator.rs:344,1
    - Dst: '&mut Vec<String>::push'
      Src: /src/pest/meta/src/validator.rs:345,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:345,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:346,1
    - Dst: '&mut Vec<String>::pop'
      Src: /src/pest/meta/src/validator.rs:347,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/meta/src/validator.rs:347,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:373,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:374,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:377,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:378,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:402,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:404,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:407,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 3
    argNames:
    - expr
    - rules
    - trace
    argTypes:
    - '&ParserExpr<''i>'
    - '&HashMap<String, &ParserNode<''i>>'
    - '&mut Vec<String>'
    constantsTouched: []
    func_position:
      end: 411
      start: 331
    functionDepth: 17
    functionLinenumber: 331
    functionLinenumberEnd: 411
    functionName: is_non_progressing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 4
    functionsReached:
    - ParseResult::unwrap
    - '&mut Vec<String>::contains'
    - is_non_progressing
    - '& ''static [Rule]::get'
    - clone
    - is_empty
    - '&mut Vec<String>::pop'
    - '&mut Vec<String>::push'
    linkageType: ''
    returnType: bool
    signature: 'fn is_non_progressing<''i>(expr: &ParserExpr<''i>,rules: &HashMap<String,
      &ParserNode<''i>>,trace: &mut Vec<String>,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/meta/src/validator.rs:433,1
    - Dst: '&mut Vec<String>::contains'
      Src: /src/pest/meta/src/validator.rs:435,1
    - Dst: '& ''static [Rule]::get'
      Src: /src/pest/meta/src/validator.rs:436,1
    - Dst: '&mut Vec<String>::push'
      Src: /src/pest/meta/src/validator.rs:437,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:437,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:438,1
    - Dst: '&mut Vec<String>::pop'
      Src: /src/pest/meta/src/validator.rs:439,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/meta/src/validator.rs:439,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:472,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:472,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:475,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:475,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:491,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:497,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:499,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 3
    argNames:
    - expr
    - rules
    - trace
    argTypes:
    - '&ParserExpr<''i>'
    - '&HashMap<String, &ParserNode<''i>>'
    - '&mut Vec<String>'
    constantsTouched: []
    func_position:
      end: 506
      start: 427
    functionDepth: 17
    functionLinenumber: 427
    functionLinenumberEnd: 506
    functionName: is_non_failing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 5
    functionsReached:
    - ParseResult::unwrap
    - '&mut Vec<String>::contains'
    - is_non_failing
    - '& ''static [Rule]::get'
    - clone
    - is_empty
    - '&mut Vec<String>::pop'
    - '&mut Vec<String>::push'
    linkageType: ''
    returnType: bool
    signature: 'fn is_non_failing<''i>(expr: &ParserExpr<''i>,rules: &HashMap<String,
      &ParserNode<''i>>,trace: &mut Vec<String>,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_hash_map
      Src: /src/pest/meta/src/validator.rs:510,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:513,1
    - Dst: filter_map_top_down
      Src: /src/pest/meta/src/validator.rs:513,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:519,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:520,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:520,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/validator.rs:523,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:529,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:530,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:530,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/validator.rs:533,1
    - Dst: append
      Src: /src/pest/meta/src/validator.rs:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 550
      start: 508
    functionDepth: 17
    functionLinenumber: 508
    functionLinenumberEnd: 550
    functionName: validate_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - filter_map_top_down
    - Some
    - to_hash_map
    - is_non_failing
    - is_non_progressing
    - append
    - clone
    - '&str::to_owned'
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'fn validate_repetition<''a, ''i: ''a>(rules: &''a [ParserRule<''i>])
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_hash_map
      Src: /src/pest/meta/src/validator.rs:554,1
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:557,1
    - Dst: filter_map_top_down
      Src: /src/pest/meta/src/validator.rs:557,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:567,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:568,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:568,1
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/validator.rs:571,1
    - Dst: append
      Src: /src/pest/meta/src/validator.rs:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 587
      start: 552
    functionDepth: 17
    functionLinenumber: 552
    functionLinenumberEnd: 587
    functionName: validate_choices
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - filter_map_top_down
    - Some
    - to_hash_map
    - is_non_failing
    - append
    - clone
    - '&str::to_owned'
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'fn validate_choices<''a, ''i: ''a>(rules: &''a [ParserRule<''i>])
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_hash_map
      Src: /src/pest/meta/src/validator.rs:590,1
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/meta/src/validator.rs:592,1
    - Dst: filter_map
      Src: /src/pest/meta/src/validator.rs:592,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:596,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:597,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:597,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:606,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:607,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:607,1
    - Dst: collect
      Src: /src/pest/meta/src/validator.rs:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 624
      start: 589
    functionDepth: 17
    functionLinenumber: 589
    functionLinenumberEnd: 624
    functionName: validate_whitespace_comment
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - Some
    - to_hash_map
    - is_non_failing
    - is_non_progressing
    - collect
    - filter_map
    - '& ''static [Rule]::iter'
    - Error::new_from_span
    linkageType: ''
    returnType: Vec
    signature: 'fn validate_whitespace_comment<''a, ''i: ''a>(rules: &''a [ParserRule<''i>])
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: left_recursion
      Src: /src/pest/meta/src/validator.rs:627,1
    - Dst: to_hash_map
      Src: /src/pest/meta/src/validator.rs:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&''a [ParserRule<''i>]'
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 18
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: validate_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 1
    functionsReached:
    - left_recursion
    - to_hash_map
    linkageType: ''
    returnType: Vec
    signature: 'fn validate_left_recursion<''a, ''i: ''a>(rules: &''a [ParserRule<''i>])
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/meta/src/optimizer/mod.rs:3,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:3,1
    - Dst: clone
      Src: /src/pest/meta/src/optimizer/mod.rs:5,1
    - Dst: clone
      Src: /src/pest/meta/src/optimizer/mod.rs:5,1
    - Dst: HashMap::collect
      Src: /src/pest/meta/src/optimizer/mod.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 16
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: to_hash_map
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 6
    functionsReached:
    - clone
    - map
    - '& ''static [Rule]::iter'
    - HashMap::collect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/pest/meta/src/validator.rs:640,1
    - Dst: '&mut Vec<String>::push'
      Src: /src/pest/meta/src/validator.rs:643,1
    - Dst: '&mut Vec<String>::iter'
      Src: /src/pest/meta/src/validator.rs:644,1
    - Dst: map
      Src: /src/pest/meta/src/validator.rs:644,1
    - Dst: as_ref
      Src: /src/pest/meta/src/validator.rs:646,1
    - Dst: "iter()\n                        .map(|ident| ident.as_ref())\n       \
        \                 .collect::<Vec<_>>"
      Src: /src/pest/meta/src/validator.rs:644,1
    - Dst: join
      Src: /src/pest/meta/src/validator.rs:644,1
    - Dst: Some
      Src: /src/pest/meta/src/validator.rs:650,1
    - Dst: Error::new_from_span
      Src: /src/pest/meta/src/validator.rs:650,1
    - Dst: '&mut Vec<String>::contains'
      Src: /src/pest/meta/src/validator.rs:663,1
    - Dst: '& ''static [Rule]::get'
      Src: /src/pest/meta/src/validator.rs:664,1
    - Dst: '&mut Vec<String>::push'
      Src: /src/pest/meta/src/validator.rs:665,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:666,1
    - Dst: '&mut Vec<String>::pop'
      Src: /src/pest/meta/src/validator.rs:667,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/meta/src/validator.rs:667,1
    - Dst: is_non_failing
      Src: /src/pest/meta/src/validator.rs:676,1
    - Dst: is_non_progressing
      Src: /src/pest/meta/src/validator.rs:677,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:683,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:685,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:689,1
    - Dst: Option::or_else
      Src: /src/pest/meta/src/validator.rs:689,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:689,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:691,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:692,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:693,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:694,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:695,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 75
    argCount: 3
    argNames:
    - node
    - rules
    - trace
    argTypes:
    - '&''a ParserNode<''i>'
    - '&''a HashMap<String, &ParserNode<''i>>'
    - '&mut Vec<String>'
    constantsTouched: []
    func_position:
      end: 699
      start: 635
    functionDepth: 16
    functionLinenumber: 635
    functionLinenumberEnd: 699
    functionName: l::e::f::t::_::r::e::c::u::r::s::i::o::n::check_expr
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Some
    - ParseResult::unwrap
    - '&mut Vec<String>::push'
    - '&mut Vec<String>::contains'
    - "iter()\n                        .map(|ident| ident.as_ref())\n            \
      \            .collect::<Vec<_>>"
    - join
    - '& ''static [Rule]::get'
    - check_expr
    - is_non_failing
    - is_non_progressing
    - as_ref
    - clone
    - '&mut Vec<String>::pop'
    - Option::or_else
    - map
    - '&mut Vec<String>::iter'
    - Error::new_from_span
    linkageType: ''
    returnType: Option
    signature: 'fn check_expr<''a, ''i: ''a>(node: &''a ParserNode<''i>,rules: &''a
      HashMap<String, &ParserNode<''i>>,trace: &mut Vec<String>,) -> Option<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::clone
      Src: /src/pest/meta/src/validator.rs:704,1
    - Dst: check_expr
      Src: /src/pest/meta/src/validator.rs:706,1
    - Dst: push
      Src: /src/pest/meta/src/validator.rs:707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 88
    argCount: 1
    argNames:
    - rules
    argTypes:
    - HashMap<String, &'a ParserNode<'i>>
    constantsTouched: []
    func_position:
      end: 712
      start: 634
    functionDepth: 17
    functionLinenumber: 634
    functionLinenumberEnd: 712
    functionName: left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 2
    functionsReached:
    - Option::clone
    - push
    - check_expr
    linkageType: ''
    returnType: Vec
    signature: 'fn left_recursion<''a, ''i: ''a>(rules: HashMap<String, &''a ParserNode<''i>>)
      -> Vec<Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:732,1
    - Dst: validate_pairs
      Src: /src/pest/meta/src/validator.rs:732,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:733,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 18
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: tests::pest_keyword
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - validate_pairs
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn pest_keyword()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:748,1
    - Dst: validate_pairs
      Src: /src/pest/meta/src/validator.rs:748,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:749,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 18
    functionLinenumber: 746
    functionLinenumberEnd: 751
    functionName: tests::already_defined
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - validate_pairs
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn already_defined()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:764,1
    - Dst: validate_pairs
      Src: /src/pest/meta/src/validator.rs:764,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:765,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 18
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: tests::undefined
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - validate_pairs
    - PestParser::parse
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn undefined()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:772,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:772,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:773,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 17
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: tests::valid_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn valid_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:788,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:788,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:789,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 786
    functionDepth: 17
    functionLinenumber: 786
    functionLinenumberEnd: 791
    functionName: tests::non_failing_whitespace
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_failing_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:804,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:804,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:805,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 17
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: tests::non_progressing_comment
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_progressing_comment()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 821
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 821
    functionName: tests::non_progressing_empty_string
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn non_progressing_empty_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 835
    functionName: tests::progressing_non_empty_string
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn progressing_non_empty_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: tests::non_progressing_soi_eoi
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn non_progressing_soi_eoi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:853,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 871
    functionName: tests::non_progressing_predicates
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - '&str::into'
    - ParserExpr::Str
    linkageType: ''
    returnType: void
    signature: fn non_progressing_predicates()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:875,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:876,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:876,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:877,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 874
    functionDepth: 18
    functionLinenumber: 874
    functionLinenumberEnd: 922
    functionName: tests::non_progressing_0_length_repetitions
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_progressing_0_length_repetitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:927,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:928,1
    - Dst: into
      Src: /src/pest/meta/src/validator.rs:928,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:929,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:929,1
    - Dst: ParserExpr::RepExact
      Src: /src/pest/meta/src/validator.rs:931,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:931,1
    - Dst: ParserExpr::RepMin
      Src: /src/pest/meta/src/validator.rs:932,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:932,1
    - Dst: ParserExpr::RepMinMax
      Src: /src/pest/meta/src/validator.rs:933,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:933,1
    - Dst: ParserExpr::RepOnce
      Src: /src/pest/meta/src/validator.rs:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 925
    functionDepth: 18
    functionLinenumber: 925
    functionLinenumberEnd: 948
    functionName: tests::non_progressing_nonzero_repetitions_with_non_progressing_expr
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - ParserExpr::RepOnce
    - ParserExpr::RepExact
    - ParserExpr::RepMinMax
    - Span::new
    - ParserExpr::RepMin
    - into
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_progressing_nonzero_repetitions_with_non_progressing_expr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:953,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:954,1
    - Dst: into
      Src: /src/pest/meta/src/validator.rs:954,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:955,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:955,1
    - Dst: ParserExpr::RepExact
      Src: /src/pest/meta/src/validator.rs:957,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:957,1
    - Dst: ParserExpr::RepMin
      Src: /src/pest/meta/src/validator.rs:958,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:958,1
    - Dst: ParserExpr::RepMinMax
      Src: /src/pest/meta/src/validator.rs:959,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:959,1
    - Dst: ParserExpr::RepOnce
      Src: /src/pest/meta/src/validator.rs:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 951
    functionDepth: 18
    functionLinenumber: 951
    functionLinenumberEnd: 978
    functionName: tests::progressing_repetitions
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - ParserExpr::RepOnce
    - ParserExpr::RepExact
    - ParserExpr::RepMinMax
    - Span::new
    - ParserExpr::RepMin
    - into
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn progressing_repetitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:983,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:984,1
    - Dst: into
      Src: /src/pest/meta/src/validator.rs:984,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:985,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:985,1
    - Dst: ParserExpr::Push
      Src: /src/pest/meta/src/validator.rs:987,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 981
    functionDepth: 18
    functionLinenumber: 981
    functionLinenumberEnd: 990
    functionName: tests::non_progressing_push
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Span::new
    - into
    - ParserExpr::Str
    - Box::new
    - ParserExpr::Push
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_progressing_push()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:995,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:996,1
    - Dst: into
      Src: /src/pest/meta/src/validator.rs:996,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:997,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:997,1
    - Dst: ParserExpr::Push
      Src: /src/pest/meta/src/validator.rs:999,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 993
    functionDepth: 18
    functionLinenumber: 993
    functionLinenumberEnd: 1002
    functionName: tests::progressing_push
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Span::new
    - into
    - ParserExpr::Str
    - Box::new
    - ParserExpr::Push
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn progressing_push()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1008,1
    - Dst: ParserExpr::PushLiteral
      Src: /src/pest/meta/src/validator.rs:1009,1
    - Dst: '&str::to_string'
      Src: /src/pest/meta/src/validator.rs:1009,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1010,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1010,1
    - Dst: ParserExpr::Push
      Src: /src/pest/meta/src/validator.rs:1012,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 18
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: tests::push_literal_is_non_progressing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Span::new
    - ParserExpr::PushLiteral
    - Box::new
    - ParserExpr::Push
    - '&str::to_string'
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn push_literal_is_non_progressing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1019,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1020,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1020,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1021,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1021,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1028,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1029,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1029,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1030,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1030,1
    - Dst: ParserExpr::NodeTag
      Src: /src/pest/meta/src/validator.rs:1039,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:1039,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1039,1
    - Dst: ParserExpr::NodeTag
      Src: /src/pest/meta/src/validator.rs:1040,1
    - Dst: Self::clone
      Src: /src/pest/meta/src/validator.rs:1040,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1018
    functionDepth: 18
    functionLinenumber: 1018
    functionLinenumberEnd: 1053
    functionName: tests::node_tag_forwards_is_non_progressing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - ParserExpr::NodeTag
    - Span::new
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn node_tag_forwards_is_non_progressing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1057,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1057,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1057,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1058,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1058,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1070
    functionName: tests::progressing_range
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - '&str::into'
    - ParserExpr::Range
    linkageType: ''
    returnType: void
    signature: fn progressing_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1074,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1075,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1075,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1076,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1076,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1084,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1085,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1085,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1086,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1073
    functionDepth: 18
    functionLinenumber: 1073
    functionLinenumberEnd: 1094
    functionName: tests::progressing_choice
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn progressing_choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1098,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1099,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1099,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1100,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1100,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1109,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1110,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1110,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1111,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1111,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1120,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1121,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1121,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1122,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1122,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1131,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1132,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1132,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1133,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1133,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1134,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1134,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1136,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1097
    functionDepth: 18
    functionLinenumber: 1097
    functionLinenumberEnd: 1160
    functionName: tests::non_progressing_choices
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_progressing_choices()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1164,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1165,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1165,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1166,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1166,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1169,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1170,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1170,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1171,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1171,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1172,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1172,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1174,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1163
    functionDepth: 18
    functionLinenumber: 1163
    functionLinenumberEnd: 1182
    functionName: tests::non_progressing_seq
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_progressing_seq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1186,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1187,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1187,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1188,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1188,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1197,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1198,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1198,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1199,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1199,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1208,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1209,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1209,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1210,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1210,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1219,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1220,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1220,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1221,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1221,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1222,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1222,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1224,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1185
    functionDepth: 18
    functionLinenumber: 1185
    functionLinenumberEnd: 1248
    functionName: tests::progressing_seqs
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn progressing_seqs()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1267
    functionName: tests::progressing_stack_operations
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn progressing_stack_operations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserExpr::Insens
      Src: /src/pest/meta/src/validator.rs:1271,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1271,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1272,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1277
    functionName: tests::non_failing_string
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Insens
    - ParserExpr::Str
    - '&str::into'
    linkageType: ''
    returnType: void
    signature: fn non_failing_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1291
    functionName: tests::failing_string
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn failing_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1310
    functionName: tests::failing_stack_operations
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn failing_stack_operations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1314,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1315,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1315,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1315,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1316,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1313
    functionDepth: 18
    functionLinenumber: 1313
    functionLinenumberEnd: 1358
    functionName: tests::non_failing_zero_length_repetitions
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Range
    - Span::new
    - '&str::into'
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_failing_zero_length_repetitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1362,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1363,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1363,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1364,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1364,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1364,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1365,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1365,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1367,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1361
    functionDepth: 18
    functionLinenumber: 1361
    functionLinenumberEnd: 1394
    functionName: tests::non_failing_non_zero_repetitions_with_non_failing_expr
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - ParserExpr::Range
    - Span::new
    - '&str::into'
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_failing_non_zero_repetitions_with_non_failing_expr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1399,1
    - Dst: ParserExpr::NodeTag
      Src: /src/pest/meta/src/validator.rs:1400,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1401,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1402,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1402,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1402,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1403,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1403,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1405,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1407,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1398
    functionDepth: 18
    functionLinenumber: 1398
    functionLinenumberEnd: 1434
    functionName: tests::failing_non_zero_repetitions
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::NodeTag
    - ParserExpr::Range
    - Span::new
    - '&str::into'
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn failing_non_zero_repetitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1438,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1439,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1439,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1440,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1440,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1448,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1449,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1449,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1450,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1437
    functionDepth: 18
    functionLinenumber: 1437
    functionLinenumberEnd: 1458
    functionName: tests::failing_choice
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn failing_choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1462,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1463,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1463,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1464,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1464,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1473,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1474,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1474,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1475,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1475,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1484,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1485,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1485,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1486,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1486,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1495,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1496,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1496,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1497,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1497,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1498,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1498,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1500,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1461
    functionDepth: 18
    functionLinenumber: 1461
    functionLinenumberEnd: 1524
    functionName: tests::non_failing_choices
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_failing_choices()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1528,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1529,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1529,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1530,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1530,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1533,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1534,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1534,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1535,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1535,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1536,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1536,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1538,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1527
    functionDepth: 18
    functionLinenumber: 1527
    functionLinenumberEnd: 1546
    functionName: tests::non_failing_seq
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn non_failing_seq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1550,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1551,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1551,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1552,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1552,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1561,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1562,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1562,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1563,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1563,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1572,1
    - Dst: ParserExpr::Ident
      Src: /src/pest/meta/src/validator.rs:1573,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1573,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1574,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1574,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1583,1
    - Dst: ParserExpr::Opt
      Src: /src/pest/meta/src/validator.rs:1584,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1584,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1585,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1585,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1586,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1586,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1588,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1549
    functionDepth: 18
    functionLinenumber: 1549
    functionLinenumberEnd: 1612
    functionName: tests::failing_seqs
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ParserExpr::Opt
    - Span::new
    - ParserExpr::Ident
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn failing_seqs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1616,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1616,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1616,1
    - Dst: ParserExpr::Range
      Src: /src/pest/meta/src/validator.rs:1617,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1617,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1625
    functionName: tests::failing_range
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - '&str::into'
    - ParserExpr::Range
    linkageType: ''
    returnType: void
    signature: fn failing_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1629,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1630,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1630,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1631,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1631,1
    - Dst: Box::new
      Src: /src/pest/meta/src/validator.rs:1638,1
    - Dst: ParserExpr::Str
      Src: /src/pest/meta/src/validator.rs:1639,1
    - Dst: '&str::into'
      Src: /src/pest/meta/src/validator.rs:1639,1
    - Dst: Span::new
      Src: /src/pest/meta/src/validator.rs:1640,1
    - Dst: Option::unwrap
      Src: /src/pest/meta/src/validator.rs:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1628
    functionDepth: 18
    functionLinenumber: 1628
    functionLinenumberEnd: 1683
    functionName: tests::_push_node_tag_pos_pred_forwarding_is_non_failing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - '&str::into'
    - ParserExpr::Str
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn _push_node_tag_pos_pred_forwarding_is_non_failing()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1693
    functionName: tests::push_literal_is_non_failing
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn push_literal_is_non_failing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1706,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1706,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1707,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1704
    functionDepth: 17
    functionLinenumber: 1704
    functionLinenumberEnd: 1709
    functionName: tests::non_failing_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_failing_repetition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1722,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1722,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1723,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1720
    functionDepth: 17
    functionLinenumber: 1720
    functionLinenumberEnd: 1725
    functionName: tests::indirect_non_failing_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn indirect_non_failing_repetition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1738,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1738,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1739,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1736
    functionDepth: 17
    functionLinenumber: 1736
    functionLinenumberEnd: 1741
    functionName: tests::deep_non_failing_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn deep_non_failing_repetition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1754,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1754,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1755,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1752
    functionDepth: 17
    functionLinenumber: 1752
    functionLinenumberEnd: 1757
    functionName: tests::non_progressing_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_progressing_repetition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1770,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1770,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1771,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1768
    functionDepth: 17
    functionLinenumber: 1768
    functionLinenumberEnd: 1773
    functionName: tests::indirect_non_progressing_repetition
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn indirect_non_progressing_repetition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1786,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1786,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1787,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1784
    functionDepth: 17
    functionLinenumber: 1784
    functionLinenumberEnd: 1789
    functionName: tests::simple_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn simple_left_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1809,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1809,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1810,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1807
    functionDepth: 17
    functionLinenumber: 1807
    functionLinenumberEnd: 1812
    functionName: tests::indirect_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn indirect_left_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1825,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1825,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1826,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 17
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    functionName: tests::non_failing_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_failing_left_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1841,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1841,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1842,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1839
    functionDepth: 17
    functionLinenumber: 1839
    functionLinenumberEnd: 1844
    functionName: tests::non_primary_choice_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_primary_choice_left_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1857,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1857,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1858,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1855
    functionDepth: 17
    functionLinenumber: 1855
    functionLinenumberEnd: 1860
    functionName: tests::non_progressing_left_recursion
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn non_progressing_left_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1873,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1873,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1874,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1871
    functionDepth: 17
    functionLinenumber: 1871
    functionLinenumberEnd: 1876
    functionName: tests::lhs_non_failing_choice
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn lhs_non_failing_choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1889,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1889,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1890,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1887
    functionDepth: 17
    functionLinenumber: 1887
    functionLinenumberEnd: 1892
    functionName: tests::lhs_non_failing_choice_middle
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn lhs_non_failing_choice_middle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1912,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1912,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1913,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 17
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: tests::lhs_non_failing_nested_choices
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn lhs_non_failing_nested_choices()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1920,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1920,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1921,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1918
    functionDepth: 17
    functionLinenumber: 1918
    functionLinenumberEnd: 1923
    functionName: tests::skip_can_be_defined
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn skip_can_be_defined()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1937,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1937,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1938,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1935
    functionDepth: 17
    functionLinenumber: 1935
    functionLinenumberEnd: 1940
    functionName: tests::tag_on_silent_rule
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn tag_on_silent_rule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1954,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1954,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1955,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1952
    functionDepth: 17
    functionLinenumber: 1952
    functionLinenumberEnd: 1957
    functionName: tests::tag_on_builtin_rule
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn tag_on_builtin_rule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_report
      Src: /src/pest/meta/src/validator.rs:1963,1
    - Dst: consume_rules
      Src: /src/pest/meta/src/validator.rs:1963,1
    - Dst: PestParser::parse
      Src: /src/pest/meta/src/validator.rs:1964,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/meta/src/validator.rs:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1961
    functionDepth: 17
    functionLinenumber: 1961
    functionLinenumberEnd: 1966
    functionName: tests::tag_on_normal_rule
    functionSourceFile: /src/pest/meta/src/validator.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - PestParser::parse
    - consume_rules
    - unwrap_or_report
    linkageType: ''
    returnType: void
    signature: fn tag_on_normal_rule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_bottom_up
      Src: /src/pest/meta/src/optimizer/restorer.rs:18,1
    - Dst: wrap_branching_exprs
      Src: /src/pest/meta/src/optimizer/restorer.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rule
    - rules
    argTypes:
    - OptimizedRule
    - '&HashMap<String, OptimizedExpr>'
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 21
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: restore_on_err
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 2
    functionsReached:
    - wrap_branching_exprs
    - Vec::map_bottom_up
    linkageType: ''
    returnType: OptimizedRule
    signature: 'pub fn restore_on_err(rule: OptimizedRule,rules: &HashMap<String,
      OptimizedExpr>,) -> OptimizedRule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: child_modifies_state
      Src: /src/pest/meta/src/optimizer/restorer.rs:28,1
    - Dst: HashMap::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:28,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/meta/src/optimizer/restorer.rs:29,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:29,1
    - Dst: OptimizedExpr::RestoreOnErr
      Src: /src/pest/meta/src/optimizer/restorer.rs:29,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/meta/src/optimizer/restorer.rs:31,1
    - Dst: child_modifies_state
      Src: /src/pest/meta/src/optimizer/restorer.rs:35,1
    - Dst: HashMap::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:35,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:36,1
    - Dst: OptimizedExpr::RestoreOnErr
      Src: /src/pest/meta/src/optimizer/restorer.rs:36,1
    - Dst: child_modifies_state
      Src: /src/pest/meta/src/optimizer/restorer.rs:40,1
    - Dst: HashMap::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:40,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:41,1
    - Dst: OptimizedExpr::RestoreOnErr
      Src: /src/pest/meta/src/optimizer/restorer.rs:41,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/meta/src/optimizer/restorer.rs:45,1
    - Dst: child_modifies_state
      Src: /src/pest/meta/src/optimizer/restorer.rs:48,1
    - Dst: HashMap::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:48,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/meta/src/optimizer/restorer.rs:49,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/restorer.rs:49,1
    - Dst: OptimizedExpr::RestoreOnErr
      Src: /src/pest/meta/src/optimizer/restorer.rs:49,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/meta/src/optimizer/restorer.rs:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - expr
    - rules
    argTypes:
    - OptimizedExpr
    - '&HashMap<String, OptimizedExpr>'
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 18
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: wrap_branching_exprs
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 1
    functionsReached:
    - HashMap::new
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - child_modifies_state
    - OptimizedExpr::RestoreOnErr
    - Box::new
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'fn wrap_branching_exprs(expr: OptimizedExpr,rules: &HashMap<String,
      OptimizedExpr>,) -> OptimizedExpr'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::iter_top_down
      Src: /src/pest/meta/src/optimizer/restorer.rs:63,1
    - Dst: ExprTopDownIterator::any
      Src: /src/pest/meta/src/optimizer/restorer.rs:63,1
    - Dst: '&mut HashMap<String, Option<bool>>::get'
      Src: /src/pest/meta/src/optimizer/restorer.rs:67,1
    - Dst: cloned
      Src: /src/pest/meta/src/optimizer/restorer.rs:67,1
    - Dst: '&mut HashMap<String, Option<bool>>::insert'
      Src: /src/pest/meta/src/optimizer/restorer.rs:71,1
    - Dst: Option::to_owned
      Src: /src/pest/meta/src/optimizer/restorer.rs:71,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/restorer.rs:71,1
    - Dst: '&mut HashMap<String, Option<bool>>::insert'
      Src: /src/pest/meta/src/optimizer/restorer.rs:76,1
    - Dst: Option::to_owned
      Src: /src/pest/meta/src/optimizer/restorer.rs:76,1
    - Dst: '& ''static [Rule]::get'
      Src: /src/pest/meta/src/optimizer/restorer.rs:78,1
    - Dst: child_modifies_state
      Src: /src/pest/meta/src/optimizer/restorer.rs:79,1
    - Dst: '&mut HashMap<String, Option<bool>>::insert'
      Src: /src/pest/meta/src/optimizer/restorer.rs:83,1
    - Dst: Option::to_owned
      Src: /src/pest/meta/src/optimizer/restorer.rs:83,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/restorer.rs:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 3
    argNames:
    - expr
    - rules
    - cache
    argTypes:
    - '&OptimizedExpr'
    - '&HashMap<String, OptimizedExpr>'
    - '&mut HashMap<String, Option<bool>>'
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 17
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: child_modifies_state
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 2
    functionsReached:
    - Some
    - '& ''static [Rule]::get'
    - ExprTopDownIterator::any
    - Vec::iter_top_down
    - child_modifies_state
    - Option::to_owned
    - '&mut HashMap<String, Option<bool>>::insert'
    - '&mut HashMap<String, Option<bool>>::get'
    - cloned
    linkageType: ''
    returnType: bool
    signature: 'fn child_modifies_state(expr: &OptimizedExpr,rules: &HashMap<String,
      OptimizedExpr>,cache: &mut HashMap<String, Option<bool>>,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: tests::restore_no_stack_children
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn restore_no_stack_children()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/optimizer/restorer.rs:120,1
    - Dst: box_tree
      Src: /src/pest/meta/src/optimizer/restorer.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: tests::restore_with_child_stack_ops
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 0
    functionsReached:
    - '&str::to_owned'
    - box_tree
    linkageType: ''
    returnType: void
    signature: fn restore_with_child_stack_ops()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::to_owned'
      Src: /src/pest/meta/src/optimizer/restorer.rs:140,1
    - Dst: box_tree
      Src: /src/pest/meta/src/optimizer/restorer.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: tests::restore_choice_branch_with_and_branch_without
    functionSourceFile: /src/pest/meta/src/optimizer/restorer.rs
    functionUses: 0
    functionsReached:
    - '&str::to_owned'
    - box_tree
    linkageType: ''
    returnType: void
    signature: fn restore_choice_branch_with_and_branch_without()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_bottom_up
      Src: /src/pest/meta/src/optimizer/lister.rs:17,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:27,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:27,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/optimizer/lister.rs:27,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:27,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:27,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:29,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:29,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/optimizer/lister.rs:29,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:29,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:29,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:32,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:32,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/optimizer/lister.rs:32,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:32,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/lister.rs:35,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/lister.rs:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 41
      start: 12
    functionDepth: 21
    functionLinenumber: 12
    functionLinenumberEnd: 41
    functionName: list
    functionSourceFile: /src/pest/meta/src/optimizer/lister.rs
    functionUses: 2
    functionsReached:
    - Expr::Seq
    - Vec::map_bottom_up
    - Box::new
    - Expr::Rep
    linkageType: ''
    returnType: Rule
    signature: 'pub fn list(rule: Rule) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_bottom_up
      Src: /src/pest/meta/src/optimizer/unroller.rs:17,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/unroller.rs:19,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:19,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:19,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/optimizer/unroller.rs:19,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/unroller.rs:20,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:21,1
    - Dst: rev
      Src: /src/pest/meta/src/optimizer/unroller.rs:20,1
    - Dst: fold
      Src: /src/pest/meta/src/optimizer/unroller.rs:20,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:24,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:25,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/unroller.rs:25,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:25,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:25,1
    - Dst: unwrap
      Src: /src/pest/meta/src/optimizer/unroller.rs:20,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/unroller.rs:28,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:31,1
    - Dst: Expr::Rep
      Src: /src/pest/meta/src/optimizer/unroller.rs:33,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:33,1
    - Dst: rev
      Src: /src/pest/meta/src/optimizer/unroller.rs:28,1
    - Dst: fold
      Src: /src/pest/meta/src/optimizer/unroller.rs:28,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:38,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:39,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/unroller.rs:39,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:39,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:39,1
    - Dst: unwrap
      Src: /src/pest/meta/src/optimizer/unroller.rs:28,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/unroller.rs:42,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/optimizer/unroller.rs:43,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:43,1
    - Dst: rev
      Src: /src/pest/meta/src/optimizer/unroller.rs:42,1
    - Dst: fold
      Src: /src/pest/meta/src/optimizer/unroller.rs:42,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:46,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:47,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/unroller.rs:47,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:47,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:47,1
    - Dst: unwrap
      Src: /src/pest/meta/src/optimizer/unroller.rs:42,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/unroller.rs:50,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:53,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/optimizer/unroller.rs:55,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/unroller.rs:55,1
    - Dst: rev
      Src: /src/pest/meta/src/optimizer/unroller.rs:50,1
    - Dst: fold
      Src: /src/pest/meta/src/optimizer/unroller.rs:50,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:60,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/unroller.rs:61,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/unroller.rs:61,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:61,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/unroller.rs:61,1
    - Dst: unwrap
      Src: /src/pest/meta/src/optimizer/unroller.rs:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 110
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 67
      start: 12
    functionDepth: 21
    functionLinenumber: 12
    functionLinenumberEnd: 67
    functionName: unroll
    functionSourceFile: /src/pest/meta/src/optimizer/unroller.rs
    functionUses: 0
    functionsReached:
    - Expr::Opt
    - rev
    - Some
    - Vec::map_bottom_up
    - unwrap
    - Expr::Rep
    - Expr::Seq
    - Box::new
    - fold
    - map
    - Vec::clone
    linkageType: ''
    returnType: Rule
    signature: 'pub fn unroll(rule: Rule) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotate_internal
      Src: /src/pest/meta/src/optimizer/rotator.rs:19,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/rotator.rs:19,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/rotator.rs:19,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/rotator.rs:19,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/rotator.rs:21,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/rotator.rs:21,1
    - Dst: rotate_internal
      Src: /src/pest/meta/src/optimizer/rotator.rs:28,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/rotator.rs:28,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/rotator.rs:28,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/rotator.rs:28,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/rotator.rs:30,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/rotator.rs:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: r::o::t::a::t::e::rotate_internal
    functionSourceFile: /src/pest/meta/src/optimizer/rotator.rs
    functionUses: 0
    functionsReached:
    - Expr::Seq
    - rotate_internal
    - Box::new
    - Expr::Choice
    linkageType: ''
    returnType: Expr
    signature: 'fn rotate_internal(expr: Expr) -> Expr'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_top_down
      Src: /src/pest/meta/src/optimizer/rotator.rs:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 43
      start: 12
    functionDepth: 21
    functionLinenumber: 12
    functionLinenumberEnd: 43
    functionName: rotate
    functionSourceFile: /src/pest/meta/src/optimizer/rotator.rs
    functionUses: 0
    functionsReached:
    - Vec::map_top_down
    linkageType: ''
    returnType: Rule
    signature: 'pub fn rotate(rule: Rule) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/meta/src/optimizer/skipper.rs:23,1
    - Dst: populate_choices
      Src: /src/pest/meta/src/optimizer/skipper.rs:24,1
    - Dst: HashMap::get
      Src: /src/pest/meta/src/optimizer/skipper.rs:27,1
    - Dst: and_then
      Src: /src/pest/meta/src/optimizer/skipper.rs:27,1
    - Dst: populate_choices
      Src: /src/pest/meta/src/optimizer/skipper.rs:29,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/skipper.rs:29,1
    - Dst: append
      Src: /src/pest/meta/src/optimizer/skipper.rs:31,1
    - Dst: populate_choices
      Src: /src/pest/meta/src/optimizer/skipper.rs:32,1
    - Dst: push
      Src: /src/pest/meta/src/optimizer/skipper.rs:41,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/skipper.rs:42,1
    - Dst: Expr::Skip
      Src: /src/pest/meta/src/optimizer/skipper.rs:42,1
    - Dst: HashMap::get
      Src: /src/pest/meta/src/optimizer/skipper.rs:45,1
    - Dst: and_then
      Src: /src/pest/meta/src/optimizer/skipper.rs:45,1
    - Dst: populate_choices
      Src: /src/pest/meta/src/optimizer/skipper.rs:47,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/skipper.rs:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 3
    argNames:
    - expr
    - map
    - choices
    argTypes:
    - Expr
    - '&HashMap<String, Expr>'
    - Vec<String>
    constantsTouched: []
    func_position:
      end: 50
      start: 15
    functionDepth: 17
    functionLinenumber: 15
    functionLinenumberEnd: 50
    functionName: s::k::i::p::populate_choices
    functionSourceFile: /src/pest/meta/src/optimizer/skipper.rs
    functionUses: 0
    functionsReached:
    - Expr::Skip
    - Some
    - append
    - populate_choices
    - HashMap::get
    - push
    - and_then
    - Vec::clone
    linkageType: ''
    returnType: Option
    signature: 'fn populate_choices(expr: Expr,map: &HashMap<String, Expr>,mut choices:
      Vec<String>,) -> Option<Expr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_top_down
      Src: /src/pest/meta/src/optimizer/skipper.rs:57,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/skipper.rs:58,1
    - Dst: populate_choices
      Src: /src/pest/meta/src/optimizer/skipper.rs:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 2
    argNames:
    - rule
    - map
    argTypes:
    - Rule
    - '&HashMap<String, Expr>'
    constantsTouched: []
    func_position:
      end: 76
      start: 14
    functionDepth: 21
    functionLinenumber: 14
    functionLinenumberEnd: 76
    functionName: skip
    functionSourceFile: /src/pest/meta/src/optimizer/skipper.rs
    functionUses: 11
    functionsReached:
    - Vec::clone
    - populate_choices
    - Vec::map_top_down
    linkageType: ''
    returnType: Rule
    signature: 'pub fn skip(rule: Rule, map: &HashMap<String, Expr>) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: box_tree
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_hash_map
      Src: /src/pest/meta/src/optimizer/mod.rs:33,1
    - Dst: '& ''static [Rule]::into_iter'
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: skipper::skip
      Src: /src/pest/meta/src/optimizer/mod.rs:37,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: collect
      Src: /src/pest/meta/src/optimizer/mod.rs:34,1
    - Dst: to_optimized_hash_map
      Src: /src/pest/meta/src/optimizer/mod.rs:45,1
    - Dst: OptimizedExpr::into_iter
      Src: /src/pest/meta/src/optimizer/mod.rs:46,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:46,1
    - Dst: restorer::restore_on_err
      Src: /src/pest/meta/src/optimizer/mod.rs:48,1
    - Dst: collect
      Src: /src/pest/meta/src/optimizer/mod.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - rules
    argTypes:
    - Vec<Rule>
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 17
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: optimize
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 4
    functionsReached:
    - restorer::restore_on_err
    - to_hash_map
    - OptimizedExpr::into_iter
    - collect
    - skipper::skip
    - to_optimized_hash_map
    - '& ''static [Rule]::into_iter'
    - map
    linkageType: ''
    returnType: Vec
    signature: 'pub fn optimize(rules: Vec<Rule>) -> Vec<OptimizedRule>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Str
      Src: /src/pest/meta/src/optimizer/mod.rs:55,1
    - Dst: OptimizedExpr::Insens
      Src: /src/pest/meta/src/optimizer/mod.rs:56,1
    - Dst: OptimizedExpr::Range
      Src: /src/pest/meta/src/optimizer/mod.rs:57,1
    - Dst: OptimizedExpr::Ident
      Src: /src/pest/meta/src/optimizer/mod.rs:58,1
    - Dst: OptimizedExpr::PeekSlice
      Src: /src/pest/meta/src/optimizer/mod.rs:59,1
    - Dst: OptimizedExpr::PosPred
      Src: /src/pest/meta/src/optimizer/mod.rs:60,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:60,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:60,1
    - Dst: OptimizedExpr::NegPred
      Src: /src/pest/meta/src/optimizer/mod.rs:61,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:61,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:61,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/meta/src/optimizer/mod.rs:63,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:63,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:63,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:63,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:63,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/meta/src/optimizer/mod.rs:66,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:66,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:66,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:66,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:66,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/meta/src/optimizer/mod.rs:68,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:68,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:68,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/meta/src/optimizer/mod.rs:69,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:69,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:69,1
    - Dst: OptimizedExpr::Skip
      Src: /src/pest/meta/src/optimizer/mod.rs:70,1
    - Dst: OptimizedExpr::Push
      Src: /src/pest/meta/src/optimizer/mod.rs:71,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:71,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:71,1
    - Dst: OptimizedExpr::PushLiteral
      Src: /src/pest/meta/src/optimizer/mod.rs:73,1
    - Dst: OptimizedExpr::NodeTag
      Src: /src/pest/meta/src/optimizer/mod.rs:75,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:75,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:75,1
    - Dst: OptimizedExpr::RepOnce
      Src: /src/pest/meta/src/optimizer/mod.rs:77,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:77,1
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: r::u::l::e::_::t::o::_::o::p::t::i::m::i::z::e::d::_::r::u::l::e::to_optimized
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Range
    - OptimizedExpr::Push
    - OptimizedExpr::PosPred
    - OptimizedExpr::NodeTag
    - OptimizedExpr::Skip
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - OptimizedExpr::Str
    - OptimizedExpr::Seq
    - OptimizedExpr::PeekSlice
    - Box::new
    - OptimizedExpr::RepOnce
    - OptimizedExpr::PushLiteral
    - to_optimized
    - OptimizedExpr::NegPred
    - OptimizedExpr::Insens
    - OptimizedExpr::Ident
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'fn to_optimized(expr: Expr) -> OptimizedExpr'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_optimized
      Src: /src/pest/meta/src/optimizer/mod.rs:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 91
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 91
    functionName: rule_to_optimized_rule
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - to_optimized
    linkageType: ''
    returnType: OptimizedRule
    signature: 'fn rule_to_optimized_rule(rule: Rule) -> OptimizedRule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExprTopDownIterator::new
      Src: /src/pest/meta/src/optimizer/mod.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: OptimizedExpr::iter_top_down
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - OptimizedExprTopDownIterator::new
    linkageType: ''
    returnType: OptimizedExprTopDownIterator
    signature: pub fn iter_top_down(&self) -> OptimizedExprTopDownIterator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/pest/meta/src/optimizer/mod.rs:181,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:185,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:185,1
    - Dst: OptimizedExpr::PosPred
      Src: /src/pest/meta/src/optimizer/mod.rs:186,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:189,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:189,1
    - Dst: OptimizedExpr::NegPred
      Src: /src/pest/meta/src/optimizer/mod.rs:190,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:193,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:193,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:194,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:194,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/meta/src/optimizer/mod.rs:195,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:198,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:198,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:199,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:199,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/meta/src/optimizer/mod.rs:200,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:203,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:203,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/meta/src/optimizer/mod.rs:204,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:207,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:207,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/meta/src/optimizer/mod.rs:208,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:211,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:211,1
    - Dst: OptimizedExpr::Push
      Src: /src/pest/meta/src/optimizer/mod.rs:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 2
    argNames:
    - expr
    - f
    argTypes:
    - OptimizedExpr
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 216
      start: 177
    functionDepth: 19
    functionLinenumber: 177
    functionLinenumberEnd: 216
    functionName: O::p::t::i::m::i::z::e::d::E::x::p::r::::::::m::a::p::_::t::o::p::_::d::o::w::n::map_internal
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Push
    - OptimizedExpr::PosPred
    - map_internal
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - OptimizedExpr::Seq
    - f
    - Box::new
    - OptimizedExpr::NegPred
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'fn map_internal<F>(expr: OptimizedExpr, f: &mut F) -> OptimizedExprwhereF:
      FnMut(OptimizedExpr) -> OptimizedExpr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 219
      start: 173
    functionDepth: 20
    functionLinenumber: 173
    functionLinenumberEnd: 219
    functionName: OptimizedExpr::map_top_down
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - map_internal
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'pub fn map_top_down<F>(self, mut f: F) -> OptimizedExprwhereF: FnMut(OptimizedExpr)
      -> OptimizedExpr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:232,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:232,1
    - Dst: OptimizedExpr::PosPred
      Src: /src/pest/meta/src/optimizer/mod.rs:233,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:236,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:236,1
    - Dst: OptimizedExpr::NegPred
      Src: /src/pest/meta/src/optimizer/mod.rs:237,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:240,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:240,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:241,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:241,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/meta/src/optimizer/mod.rs:242,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:245,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:245,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:246,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:246,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/meta/src/optimizer/mod.rs:247,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:250,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:250,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/meta/src/optimizer/mod.rs:251,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:254,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:254,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/meta/src/optimizer/mod.rs:255,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/mod.rs:258,1
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:258,1
    - Dst: OptimizedExpr::Push
      Src: /src/pest/meta/src/optimizer/mod.rs:259,1
    - Dst: f
      Src: /src/pest/meta/src/optimizer/mod.rs:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - expr
    - f
    argTypes:
    - OptimizedExpr
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 265
      start: 226
    functionDepth: 20
    functionLinenumber: 226
    functionLinenumberEnd: 265
    functionName: O::p::t::i::m::i::z::e::d::E::x::p::r::::::::m::a::p::_::b::o::t::t::o::m::_::u::p::map_internal
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Push
    - OptimizedExpr::PosPred
    - map_internal
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - OptimizedExpr::Seq
    - f
    - Box::new
    - OptimizedExpr::NegPred
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'fn map_internal<F>(expr: OptimizedExpr, f: &mut F) -> OptimizedExprwhereF:
      FnMut(OptimizedExpr) -> OptimizedExpr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_internal
      Src: /src/pest/meta/src/optimizer/mod.rs:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 268
      start: 222
    functionDepth: 20
    functionLinenumber: 222
    functionLinenumberEnd: 268
    functionName: OptimizedExpr::map_bottom_up
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - map_internal
    linkageType: ''
    returnType: OptimizedExpr
    signature: 'pub fn map_bottom_up<F>(self, mut f: F) -> OptimizedExprwhereF: FnMut(OptimizedExpr)
      -> OptimizedExpr,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/meta/src/optimizer/mod.rs:277,1
    - Dst: next
      Src: /src/pest/meta/src/optimizer/mod.rs:277,1
    - Dst: expect
      Src: /src/pest/meta/src/optimizer/mod.rs:277,1
    - Dst: chars
      Src: /src/pest/meta/src/optimizer/mod.rs:278,1
    - Dst: next
      Src: /src/pest/meta/src/optimizer/mod.rs:278,1
    - Dst: expect
      Src: /src/pest/meta/src/optimizer/mod.rs:278,1
    - Dst: Vec::new
      Src: /src/pest/meta/src/optimizer/mod.rs:289,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:290,1
    - Dst: rhs::as_ref
      Src: /src/pest/meta/src/optimizer/mod.rs:292,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:293,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:296,1
    - Dst: Self::iter
      Src: /src/pest/meta/src/optimizer/mod.rs:297,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:297,1
    - Dst: "iter()\n                    .map(|node| format!(\"{}\", node))\n     \
        \               .collect::<Vec<_>>"
      Src: /src/pest/meta/src/optimizer/mod.rs:297,1
    - Dst: join
      Src: /src/pest/meta/src/optimizer/mod.rs:297,1
    - Dst: Vec::new
      Src: /src/pest/meta/src/optimizer/mod.rs:305,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:306,1
    - Dst: rhs::as_ref
      Src: /src/pest/meta/src/optimizer/mod.rs:308,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:309,1
    - Dst: Self::push
      Src: /src/pest/meta/src/optimizer/mod.rs:312,1
    - Dst: Self::iter
      Src: /src/pest/meta/src/optimizer/mod.rs:313,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:313,1
    - Dst: "iter()\n                    .map(|node| format!(\"{}\", node))\n     \
        \               .collect::<Vec<_>>"
      Src: /src/pest/meta/src/optimizer/mod.rs:313,1
    - Dst: join
      Src: /src/pest/meta/src/optimizer/mod.rs:313,1
    - Dst: iter
      Src: /src/pest/meta/src/optimizer/mod.rs:325,1
    - Dst: map
      Src: /src/pest/meta/src/optimizer/mod.rs:325,1
    - Dst: "iter()\n                    .map(|s| format!(\"{:?}\", s))\n         \
        \           .collect::<Vec<_>>"
      Src: /src/pest/meta/src/optimizer/mod.rs:325,1
    - Dst: join
      Src: /src/pest/meta/src/optimizer/mod.rs:325,1
    - Dst: core::fmt::Display::fmt
      Src: /src/pest/meta/src/optimizer/mod.rs:339,1
    - Dst: Vec::as_ref
      Src: /src/pest/meta/src/optimizer/mod.rs:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 77
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 341
      start: 272
    functionDepth: 16
    functionLinenumber: 272
    functionLinenumberEnd: 341
    functionName: OptimizedExpr::fmt
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - Vec::as_ref
    - core::fmt::Display::fmt
    - chars
    - join
    - next
    - expect
    - Self::iter
    - Self::push
    - iter
    - "iter()\n                    .map(|node| format!(\"{}\", node))\n          \
      \          .collect::<Vec<_>>"
    - "iter()\n                    .map(|s| format!(\"{:?}\", s))\n              \
      \      .collect::<Vec<_>>"
    - rhs::as_ref
    - Vec::new
    - map
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterate_expr
      Src: /src/pest/meta/src/optimizer/mod.rs:359,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/mod.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - expr
    argTypes:
    - '&OptimizedExpr'
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: OptimizedExprTopDownIterator::new
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 1
    functionsReached:
    - Vec::clone
    - iterate_expr
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(expr: &OptimizedExpr) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/mod.rs:364,1
    - Dst: Vec::clone
      Src: /src/pest/meta/src/optimizer/mod.rs:364,1
    - Dst: push
      Src: /src/pest/meta/src/optimizer/mod.rs:367,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/mod.rs:368,1
    - Dst: push
      Src: /src/pest/meta/src/optimizer/mod.rs:371,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/mod.rs:372,1
    - Dst: Some
      Src: /src/pest/meta/src/optimizer/mod.rs:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - expr
    argTypes:
    - OptimizedExpr
    constantsTouched: []
    func_position:
      end: 385
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 385
    functionName: OptimizedExprTopDownIterator::iterate_expr
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 1
    functionsReached:
    - Some
    - push
    - Vec::clone
    linkageType: ''
    returnType: void
    signature: 'fn iterate_expr(&mut self, expr: OptimizedExpr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/pest/meta/src/optimizer/mod.rs:392,1
    - Dst: take
      Src: /src/pest/meta/src/optimizer/mod.rs:394,1
    - Dst: OptimizedExprTopDownIterator::iterate_expr
      Src: /src/pest/meta/src/optimizer/mod.rs:395,1
    - Dst: pop
      Src: /src/pest/meta/src/optimizer/mod.rs:396,1
    - Dst: OptimizedExprTopDownIterator::iterate_expr
      Src: /src/pest/meta/src/optimizer/mod.rs:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 15
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: OptimizedExprTopDownIterator::next
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - take
    - pop
    - OptimizedExprTopDownIterator::iterate_expr
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 440
    functionName: tests::rotate
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rotate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: tests::concat_strings
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn concat_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 506
    functionName: tests::unroll_loop_exact
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unroll_loop_exact()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: tests::unroll_loop_max
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unroll_loop_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: tests::unroll_loop_min
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unroll_loop_min()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 579
    functionName: tests::unroll_loop_min_max
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unroll_loop_min_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 601
    functionName: tests::concat_insensitive_strings
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn concat_insensitive_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 638
    functionName: tests::long_common_sequence
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn long_common_sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: tests::short_common_sequence
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn short_common_sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 688
    functionName: tests::impossible_common_sequence
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn impossible_common_sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 716
    functionName: tests::lister
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn lister()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 758
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 758
    functionName: tests::control_character
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn control_character()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 763
    functionName: tests::str
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn str()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_hash_map
      Src: /src/pest/meta/src/optimizer/mod.rs:1078,1
    - Dst: skipper::skip
      Src: /src/pest/meta/src/optimizer/mod.rs:1079,1
    - Dst: clone
      Src: /src/pest/meta/src/optimizer/mod.rs:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1058
    functionDepth: 17
    functionLinenumber: 1058
    functionLinenumberEnd: 1086
    functionName: tests::inline_skip
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - skipper::skip
    - to_hash_map
    linkageType: ''
    returnType: void
    signature: fn inline_skip()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: tests::restore_on_err
    functionSourceFile: /src/pest/meta/src/optimizer/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn restore_on_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_bottom_up
      Src: /src/pest/meta/src/optimizer/concatenator.rs:17,1
    - Dst: Expr::Str
      Src: /src/pest/meta/src/optimizer/concatenator.rs:21,1
    - Dst: Expr::Insens
      Src: /src/pest/meta/src/optimizer/concatenator.rs:22,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/concatenator.rs:23,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/concatenator.rs:23,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/concatenator.rs:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 32
      start: 12
    functionDepth: 21
    functionLinenumber: 12
    functionLinenumberEnd: 32
    functionName: concatenate
    functionSourceFile: /src/pest/meta/src/optimizer/concatenator.rs
    functionUses: 0
    functionsReached:
    - Vec::map_bottom_up
    - Expr::Seq
    - Expr::Insens
    - Box::new
    - Expr::Str
    linkageType: ''
    returnType: Rule
    signature: 'pub fn concatenate(rule: Rule) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::map_top_down
      Src: /src/pest/meta/src/optimizer/factorizer.rs:17,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:22,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:22,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/factorizer.rs:22,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/factorizer.rs:24,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:24,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:24,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:24,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:24,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:34,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:34,1
    - Dst: Expr::Opt
      Src: /src/pest/meta/src/optimizer/factorizer.rs:34,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/factorizer.rs:36,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:36,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:36,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:36,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/factorizer.rs:45,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:45,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:45,1
    - Dst: Expr::Seq
      Src: /src/pest/meta/src/optimizer/factorizer.rs:45,1
    - Dst: Expr::Choice
      Src: /src/pest/meta/src/optimizer/factorizer.rs:48,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:48,1
    - Dst: Box::new
      Src: /src/pest/meta/src/optimizer/factorizer.rs:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - rule
    argTypes:
    - Rule
    constantsTouched: []
    func_position:
      end: 54
      start: 12
    functionDepth: 21
    functionLinenumber: 12
    functionLinenumberEnd: 54
    functionName: factor
    functionSourceFile: /src/pest/meta/src/optimizer/factorizer.rs
    functionUses: 0
    functionsReached:
    - Expr::Opt
    - Vec::map_top_down
    - Expr::Seq
    - Box::new
    - Expr::Choice
    linkageType: ''
    returnType: Rule
    signature: 'pub fn factor(rule: Rule) -> Rule'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Editor::<CliHelper>::new
      Src: /src/pest/debugger/src/main.rs:345,1
    - Dst: Cli::default
      Src: /src/pest/debugger/src/main.rs:346,1
    - Dst: CliArgs::default
      Src: /src/pest/debugger/src/main.rs:347,1
    - Dst: ClientBuilder::new
      Src: /src/pest/debugger/src/main.rs:350,1
    - Dst: Self::user_agent
      Src: /src/pest/debugger/src/main.rs:350,1
    - Dst: timeout
      Src: /src/pest/debugger/src/main.rs:350,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:356,1
    - Dst: Duration::from_secs
      Src: /src/pest/debugger/src/main.rs:356,1
    - Dst: build
      Src: /src/pest/debugger/src/main.rs:350,1
    - Dst: ok
      Src: /src/pest/debugger/src/main.rs:350,1
    - Dst: check_for_updates
      Src: /src/pest/debugger/src/main.rs:361,1
    - Dst: FilenameCompleter::new
      Src: /src/pest/debugger/src/main.rs:373,1
    - Dst: set_helper
      Src: /src/pest/debugger/src/main.rs:376,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:376,1
    - Dst: load_history
      Src: /src/pest/debugger/src/main.rs:379,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:382,1
    - Dst: clone
      Src: /src/pest/debugger/src/main.rs:382,1
    - Dst: Self::init
      Src: /src/pest/debugger/src/main.rs:386,1
    - Dst: readline
      Src: /src/pest/debugger/src/main.rs:388,1
    - Dst: add_history_entry
      Src: /src/pest/debugger/src/main.rs:390,1
    - Dst: '&str::clone'
      Src: /src/pest/debugger/src/main.rs:390,1
    - Dst: DebuggerContext::execute_command
      Src: /src/pest/debugger/src/main.rs:391,1
    - Dst: '&str::trim'
      Src: /src/pest/debugger/src/main.rs:391,1
    - Dst: save_history
      Src: /src/pest/debugger/src/main.rs:405,1
    - Dst: Ok
      Src: /src/pest/debugger/src/main.rs:409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 344
    functionDepth: 23
    functionLinenumber: 344
    functionLinenumberEnd: 410
    functionName: main
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - set_helper
    - DebuggerContext::execute_command
    - CliArgs::default
    - FilenameCompleter::new
    - '&str::clone'
    - Editor::<CliHelper>::new
    - Duration::from_secs
    - Some
    - readline
    - add_history_entry
    - load_history
    - build
    - Self::init
    - save_history
    - check_for_updates
    - timeout
    - Self::user_agent
    - ok
    - ClientBuilder::new
    - clone
    - '&str::trim'
    - Ok
    - Cli::default
    linkageType: ''
    returnType: rustyline::Result
    signature: fn main() -> rustyline::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:41,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/calculator.rs:42,1
    - Dst: primary
      Src: /src/pest/pest/tests/calculator.rs:43,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/calculator.rs:43,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/calculator.rs:44,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/calculator.rs:45,1
    - Dst: plus
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: or_else
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: or_else
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: or_else
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: or_else
      Src: /src/pest/pest/tests/calculator.rs:46,1
    - Dst: and_then
      Src: /src/pest/pest/tests/calculator.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 17
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::expression
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - ParseResult::and_then
    - '& ''static [Rule]::repeat'
    - or_else
    - primary
    - ParseResult::or_else
    - plus
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn expression(state: Box<ParserState<''_, Rule>>,) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sequence
      Src: /src/pest/pest/tests/calculator.rs:61,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:63,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/calculator.rs:63,1
    - Dst: and_then
      Src: /src/pest/pest/tests/calculator.rs:63,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:65,1
    - Dst: or_else
      Src: /src/pest/pest/tests/calculator.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 16
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::primary
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - or_else
    - Result::sequence
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn primary(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:71,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/calculator.rs:72,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/tests/calculator.rs:73,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:73,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/calculator.rs:73,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:74,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/calculator.rs:74,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/calculator.rs:75,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/calculator.rs:76,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/calculator.rs:76,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/calculator.rs:77,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/calculator.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 20
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::number
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::optional'
    - '& ''static [Rule]::repeat'
    - ParseResult::or_else
    - '& ''static [Rule]::match_range'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn number(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:86,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 16
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::plus
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn plus(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:90,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 16
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::minus
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn minus(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:94,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 16
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::times
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn times(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:98,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 16
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::divide
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn divide(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:102,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 16
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::modulus
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn modulus(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/calculator.rs:106,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/calculator.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 16
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::power
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn power(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::state
      Src: /src/pest/pest/tests/calculator.rs:109,1
    - Dst: expression
      Src: /src/pest/pest/tests/calculator.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 111
    argCount: 2
    argNames:
    - rule
    - input
    argTypes:
    - Rule
    - '&str'
    constantsTouched: []
    func_position:
      end: 113
      start: 37
    functionDepth: 18
    functionLinenumber: 37
    functionLinenumberEnd: 113
    functionName: CalculatorParser::parse
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 2
    functionsReached:
    - expression
    - pest::state
    linkageType: ''
    returnType: Result
    signature: 'fn parse(rule: Rule, input: &str) -> Result<Pairs<Rule>, Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/pest/generator/src/docs.rs:41,1
    - Dst: HashMap::new
      Src: /src/pest/generator/src/docs.rs:43,1
    - Dst: String::new
      Src: /src/pest/generator/src/docs.rs:44,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/generator/src/docs.rs:47,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/generator/src/docs.rs:50,1
    - Dst: Pairs::next
      Src: /src/pest/generator/src/docs.rs:50,1
    - Dst: Option::unwrap
      Src: /src/pest/generator/src/docs.rs:50,1
    - Dst: push_str
      Src: /src/pest/generator/src/docs.rs:51,1
    - Dst: as_str
      Src: /src/pest/generator/src/docs.rs:51,1
    - Dst: push
      Src: /src/pest/generator/src/docs.rs:52,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/generator/src/docs.rs:55,1
    - Dst: Pairs::next
      Src: /src/pest/generator/src/docs.rs:55,1
    - Dst: Pairs::as_rule
      Src: /src/pest/generator/src/docs.rs:57,1
    - Dst: Pairs::into_inner
      Src: /src/pest/generator/src/docs.rs:59,1
    - Dst: Pairs::next
      Src: /src/pest/generator/src/docs.rs:59,1
    - Dst: push_str
      Src: /src/pest/generator/src/docs.rs:60,1
    - Dst: as_str
      Src: /src/pest/generator/src/docs.rs:60,1
    - Dst: push
      Src: /src/pest/generator/src/docs.rs:61,1
    - Dst: is_empty
      Src: /src/pest/generator/src/docs.rs:65,1
    - Dst: Pairs::as_str
      Src: /src/pest/generator/src/docs.rs:66,1
    - Dst: '&''i str::to_owned'
      Src: /src/pest/generator/src/docs.rs:66,1
    - Dst: pop
      Src: /src/pest/generator/src/docs.rs:69,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/docs.rs:70,1
    - Dst: clone
      Src: /src/pest/generator/src/docs.rs:70,1
    - Dst: clear
      Src: /src/pest/generator/src/docs.rs:71,1
    - Dst: is_empty
      Src: /src/pest/generator/src/docs.rs:82,1
    - Dst: pop
      Src: /src/pest/generator/src/docs.rs:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs<'_, Rule>
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 15
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: consume
    functionSourceFile: /src/pest/generator/src/docs.rs
    functionUses: 3
    functionsReached:
    - HashMap::new
    - ParseResult::into_inner
    - Pairs::as_str
    - Pairs::next
    - push_str
    - Pairs::as_rule
    - Self::insert
    - String::new
    - as_str
    - Pairs::into_inner
    - '&''i str::to_owned'
    - push
    - is_empty
    - pop
    - clone
    - ParseResult::as_rule
    - clear
    - Option::unwrap
    linkageType: ''
    returnType: DocComment
    signature: 'pub fn consume(pairs: Pairs<''_, Rule>) -> DocComment'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/pest/tests/calculator.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 14
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: number
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 5
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/pest/tests/calculator.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 14
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: parens
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn parens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/pest/tests/calculator.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 181
    functionDepth: 14
    functionLinenumber: 181
    functionLinenumberEnd: 204
    functionName: expression
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 2
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn expression()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrecClimber::new
      Src: /src/pest/pest/tests/calculator.rs:210,1
    - Dst: CalculatorParser::parse
      Src: /src/pest/pest/tests/calculator.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 18
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: prec_climb
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - PrecClimber::new
    - CalculatorParser::parse
    linkageType: ''
    returnType: void
    signature: fn prec_climb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrattParser::new
      Src: /src/pest/pest/tests/calculator.rs:230,1
    - Dst: Self::op
      Src: /src/pest/pest/tests/calculator.rs:230,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:231,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:231,1
    - Dst: op
      Src: /src/pest/pest/tests/calculator.rs:230,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:232,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:233,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:234,1
    - Dst: op
      Src: /src/pest/pest/tests/calculator.rs:230,1
    - Dst: Op::infix
      Src: /src/pest/pest/tests/calculator.rs:235,1
    - Dst: CalculatorParser::parse
      Src: /src/pest/pest/tests/calculator.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 15
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: pratt_parse
    functionSourceFile: /src/pest/pest/tests/calculator.rs
    functionUses: 0
    functionsReached:
    - CalculatorParser::parse
    - Self::op
    - PrattParser::new
    - op
    - Op::infix
    linkageType: ''
    returnType: void
    signature: fn pratt_parse()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pest/pest/tests/json.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 16
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: ParseResult
    signature: 'fn json(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:49,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:50,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/json.rs:56,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:57,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:58,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:58,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:58,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:58,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:51,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:65,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:50,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:68,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:69,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:69,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:69,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 16
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::object
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::repeat'
    - or_else
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn object(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:78,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:79,1
    - Dst: string
      Src: /src/pest/pest/tests/json.rs:80,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:80,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:80,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:82,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:80,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 14
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - string
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn pair(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:90,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:91,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/json.rs:97,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:98,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:99,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:99,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:99,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:99,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:92,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:106,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:91,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:109,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:110,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:110,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:110,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 16
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::array
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::repeat'
    - or_else
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn array(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:119,1
    - Dst: string
      Src: /src/pest/pest/tests/json.rs:120,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:120,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:120,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:120,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:120,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 15
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - string
    - or_else
    linkageType: ''
    returnType: ParseResult
    signature: 'fn value(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:130,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:131,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:131,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/json.rs:133,1
    - Dst: escape
      Src: /src/pest/pest/tests/json.rs:134,1
    - Dst: Option::or_else
      Src: /src/pest/pest/tests/json.rs:134,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:135,1
    - Dst: '& ''static [Rule]::lookahead'
      Src: /src/pest/pest/tests/json.rs:136,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:137,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:137,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:137,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:136,1
    - Dst: '& ''static [Rule]::skip'
      Src: /src/pest/pest/tests/json.rs:139,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:131,1
    - Dst: match_string
      Src: /src/pest/pest/tests/json.rs:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 16
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::string
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::repeat'
    - escape
    - '& ''static [Rule]::skip'
    - ParseResult::or_else
    - '& ''static [Rule]::lookahead'
    - match_string
    - Option::or_else
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn string(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sequence
      Src: /src/pest/pest/tests/json.rs:149,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:150,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:150,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:152,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:153,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:154,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:155,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:156,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:157,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:158,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 16
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::escape
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - or_else
    - ParseResult::or_else
    - Result::sequence
    linkageType: ''
    returnType: ParseResult
    signature: 'fn escape(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sequence
      Src: /src/pest/pest/tests/json.rs:165,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:166,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:166,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:166,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 16
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::unicode
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - and_then
    - '& ''static [Rule]::match_string'
    - Result::sequence
    - ParseResult::and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn unicode(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::match_range
      Src: /src/pest/pest/tests/json.rs:174,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:174,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:176,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:174,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 16
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::match_range'
    - or_else
    - ParseResult::or_else
    - Result::match_range
    linkageType: ''
    returnType: ParseResult
    signature: 'fn hex(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:181,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:182,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/tests/json.rs:183,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:183,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:183,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:183,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/tests/json.rs:186,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:187,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:188,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:188,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:189,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:188,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/json.rs:190,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:190,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:188,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/tests/json.rs:191,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 20
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::number
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::optional'
    - '& ''static [Rule]::match_range'
    - '& ''static [Rule]::repeat'
    - or_else
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn number(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::match_string
      Src: /src/pest/pest/tests/json.rs:201,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:201,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/tests/json.rs:202,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:203,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/tests/json.rs:203,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/tests/json.rs:204,1
    - Dst: '& ''static [Rule]::match_range'
      Src: /src/pest/pest/tests/json.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 16
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - ParseResult::and_then
    - '& ''static [Rule]::repeat'
    - Result::match_string
    - ParseResult::or_else
    - '& ''static [Rule]::match_range'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn int(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sequence
      Src: /src/pest/pest/tests/json.rs:210,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:211,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:211,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:212,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:211,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/tests/json.rs:214,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:214,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:214,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:214,1
    - Dst: and_then
      Src: /src/pest/pest/tests/json.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 16
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::match_string'
    - '& ''static [Rule]::optional'
    - ParseResult::or_else
    - Result::sequence
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn exp(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:221,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:222,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:222,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 16
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::bool
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::or_else
    linkageType: ''
    returnType: ParseResult
    signature: 'fn bool(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/tests/json.rs:227,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 16
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::null
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - '& ''static [Rule]::match_string'
    linkageType: ''
    returnType: ParseResult
    signature: 'fn null(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::repeat
      Src: /src/pest/pest/tests/json.rs:231,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:232,1
    - Dst: ParseResult::or_else
      Src: /src/pest/pest/tests/json.rs:232,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:233,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:232,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:234,1
    - Dst: or_else
      Src: /src/pest/pest/tests/json.rs:232,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/tests/json.rs:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 20
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::skip
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - Result::repeat
    - '& ''static [Rule]::match_string'
    - ParseResult::or_else
    - or_else
    linkageType: ''
    returnType: ParseResult
    signature: 'fn skip(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::state
      Src: /src/pest/pest/tests/json.rs:239,1
    - Dst: json
      Src: /src/pest/pest/tests/json.rs:240,1
    - Dst: object
      Src: /src/pest/pest/tests/json.rs:241,1
    - Dst: pair
      Src: /src/pest/pest/tests/json.rs:242,1
    - Dst: array
      Src: /src/pest/pest/tests/json.rs:243,1
    - Dst: value
      Src: /src/pest/pest/tests/json.rs:244,1
    - Dst: string
      Src: /src/pest/pest/tests/json.rs:245,1
    - Dst: escape
      Src: /src/pest/pest/tests/json.rs:246,1
    - Dst: unicode
      Src: /src/pest/pest/tests/json.rs:247,1
    - Dst: hex
      Src: /src/pest/pest/tests/json.rs:248,1
    - Dst: number
      Src: /src/pest/pest/tests/json.rs:249,1
    - Dst: int
      Src: /src/pest/pest/tests/json.rs:250,1
    - Dst: exp
      Src: /src/pest/pest/tests/json.rs:251,1
    - Dst: bool
      Src: /src/pest/pest/tests/json.rs:252,1
    - Dst: 'null'
      Src: /src/pest/pest/tests/json.rs:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 389
    argCount: 2
    argNames:
    - rule
    - input
    argTypes:
    - Rule
    - '&str'
    constantsTouched: []
    func_position:
      end: 255
      start: 43
    functionDepth: 14
    functionLinenumber: 43
    functionLinenumberEnd: 255
    functionName: JsonParser::parse
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 7
    functionsReached:
    - value
    - object
    - hex
    - exp
    - array
    - pest::state
    - unicode
    - pair
    - int
    - escape
    - bool
    - json
    - 'null'
    - number
    - string
    linkageType: ''
    returnType: Result
    signature: 'fn parse(rule: Rule, input: &str) -> Result<Pairs<Rule>, Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseResult::into_inner
      Src: /src/pest/pest/tests/json.rs:270,1
    - Dst: Pairs::next
      Src: /src/pest/pest/tests/json.rs:270,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/tests/json.rs:270,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/pest/tests/json.rs:272,1
    - Dst: ParseResult::as_str
      Src: /src/pest/pest/tests/json.rs:274,1
    - Dst: Json::Bool
      Src: /src/pest/pest/tests/json.rs:275,1
    - Dst: Json::Bool
      Src: /src/pest/pest/tests/json.rs:276,1
    - Dst: Json::Number
      Src: /src/pest/pest/tests/json.rs:279,1
    - Dst: ParseResult::as_str
      Src: /src/pest/pest/tests/json.rs:279,1
    - Dst: '&''a str::parse'
      Src: /src/pest/pest/tests/json.rs:279,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/tests/json.rs:279,1
    - Dst: Json::String
      Src: /src/pest/pest/tests/json.rs:280,1
    - Dst: ParseResult::as_span
      Src: /src/pest/pest/tests/json.rs:280,1
    - Dst: Json::Array
      Src: /src/pest/pest/tests/json.rs:281,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/pest/tests/json.rs:281,1
    - Dst: Pairs::map
      Src: /src/pest/pest/tests/json.rs:281,1
    - Dst: HashMap::collect
      Src: /src/pest/pest/tests/json.rs:281,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/pest/tests/json.rs:283,1
    - Dst: Pairs::map
      Src: /src/pest/pest/tests/json.rs:283,1
    - Dst: into_inner
      Src: /src/pest/pest/tests/json.rs:284,1
    - Dst: ParseResult::next
      Src: /src/pest/pest/tests/json.rs:286,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/tests/json.rs:286,1
    - Dst: as_span
      Src: /src/pest/pest/tests/json.rs:286,1
    - Dst: value
      Src: /src/pest/pest/tests/json.rs:287,1
    - Dst: ParseResult::next
      Src: /src/pest/pest/tests/json.rs:287,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/tests/json.rs:287,1
    - Dst: Json::Object
      Src: /src/pest/pest/tests/json.rs:292,1
    - Dst: Result::collect
      Src: /src/pest/pest/tests/json.rs:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 1
    argNames:
    - pair
    argTypes:
    - Pair<Rule>
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 17
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: c::o::n::s::u::m::e::value
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 0
    functionsReached:
    - Pairs::map
    - value
    - ParseResult::next
    - HashMap::collect
    - Result::collect
    - ':: std :: result :: Result ::unwrap'
    - ParseResult::into_inner
    - Json::Array
    - Json::Object
    - as_span
    - into_inner
    - ParseResult::as_span
    - Json::String
    - ParseResult::as_rule
    - Pairs::next
    - ParseResult::as_str
    - Json::Number
    - '&''a str::parse'
    - Option::unwrap
    - Json::Bool
    linkageType: ''
    returnType: Json
    signature: 'fn value(pair: Pair<Rule>) -> Json'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 14
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: 'null'
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 14
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: bool
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn bool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 14
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: number_zero
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn number_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 14
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: float
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn float()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 14
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: float_with_exp
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn float_with_exp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 14
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: number_minus_zero
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn number_minus_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 14
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: string_with_escapes
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn string_with_escapes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 14
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: array_empty
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn array_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 14
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: array
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/json.rs:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 14
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: object
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/pest/pest/tests/json.rs:449,1
    - Dst: JsonParser::parse
      Src: /src/pest/pest/tests/json.rs:450,1
    - Dst: Result::unwrap
      Src: /src/pest/pest/tests/json.rs:450,1
    - Dst: next
      Src: /src/pest/pest/tests/json.rs:450,1
    - Dst: unwrap
      Src: /src/pest/pest/tests/json.rs:450,1
    - Dst: Result::values
      Src: /src/pest/pest/tests/json.rs:457,1
    - Dst: collect
      Src: /src/pest/pest/tests/json.rs:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 446
    functionDepth: 16
    functionLinenumber: 446
    functionLinenumberEnd: 464
    functionName: ast
    functionSourceFile: /src/pest/pest/tests/json.rs
    functionUses: 3
    functionsReached:
    - consume
    - Result::values
    - unwrap
    - next
    - collect
    - JsonParser::parse
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn ast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pest/vm/src/macros.rs:5,1
    - Dst: expect
      Src: /src/pest/vm/src/macros.rs:5,1
    - Dst: consumes_to
      Src: /src/pest/vm/src/macros.rs:15,1
    - Dst: next
      Src: /src/pest/vm/src/macros.rs:19,1
    - Dst: expect
      Src: /src/pest/vm/src/macros.rs:19,1
    - Dst: consumes_to
      Src: /src/pest/vm/src/macros.rs:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 12
    functionDepth: 16
    functionLinenumber: 12
    functionLinenumberEnd: 128
    functionName: consumes_to
    functionSourceFile: /src/pest/vm/src/macros.rs
    functionUses: 2
    functionsReached:
    - next
    - consumes_to
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vm::parse
      Src: /src/pest/vm/src/macros.rs:6,1
    - Dst: Result::unwrap
      Src: /src/pest/vm/src/macros.rs:6,1
    - Dst: tokens
      Src: /src/pest/vm/src/macros.rs:6,1
    - Dst: consumes_to
      Src: /src/pest/vm/src/macros.rs:8,1
    - Dst: Vec::collect
      Src: /src/pest/vm/src/macros.rs:10,1
    - Dst: len
      Src: /src/pest/vm/src/macros.rs:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 132
    functionDepth: 13
    functionLinenumber: 132
    functionLinenumberEnd: 173
    functionName: parses_to
    functionSourceFile: /src/pest/vm/src/macros.rs
    functionUses: 131
    functionsReached:
    - tokens
    - consumes_to
    - Vm::parse
    - len
    - Vec::collect
    - Result::unwrap
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vm::parse
      Src: /src/pest/vm/src/macros.rs:6,1
    - Dst: Result::unwrap_err
      Src: /src/pest/vm/src/macros.rs:6,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 13
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: fails_with
    functionSourceFile: /src/pest/vm/src/macros.rs
    functionUses: 31
    functionsReached:
    - Result::unwrap_err
    - Vm::parse
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/pest/src/macros.rs:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 14
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: tests::parses_to
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn parses_to()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/pest/src/macros.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 14
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: tests::missing_end
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn missing_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: tests::empty
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/pest/src/macros.rs:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 14
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: tests::fails_with
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn fails_with()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/pest/src/macros.rs:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 14
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: tests::wrong_positives
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_positives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/pest/src/macros.rs:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 14
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: tests::wrong_negatives
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_negatives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/pest/src/macros.rs:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 14
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: tests::wrong_pos
    functionSourceFile: /src/pest/pest/src/macros.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn wrong_pos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prec_climber
      Src: /src/pest/pest/src/prec_climber.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 101
    functionName: prec_climber
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 1
    functionsReached:
    - prec_climber
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rule
    - assoc
    argTypes:
    - R
    - Assoc
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: Operator::new
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Operator
    signature: 'pub fn new(rule: R, assoc: Assoc) -> Operator<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign_next
      Src: /src/pest/pest/src/prec_climber.rs:155,1
    - Dst: Some
      Src: /src/pest/pest/src/prec_climber.rs:157,1
    - Dst: Box::new
      Src: /src/pest/pest/src/prec_climber.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - op
    - next
    argTypes:
    - '&mut Operator<R>'
    - Operator<R>
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: O::p::e::r::a::t::o::r::::::::b::i::t::o::r::assign_next
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 0
    functionsReached:
    - assign_next
    - Some
    - Box::new
    linkageType: ''
    returnType: void
    signature: 'fn assign_next<R: RuleType>(op: &mut Operator<R>, next: Operator<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign_next
      Src: /src/pest/pest/src/prec_climber.rs:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: Operator::bitor
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 0
    functionsReached:
    - assign_next
    linkageType: ''
    returnType: Self
    signature: 'fn bitor(mut self, rhs: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cow::Borrowed
      Src: /src/pest/pest/src/prec_climber.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ops
    argTypes:
    - '&''static [(R, u32, Assoc)]'
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: PrecClimber::new_const
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 0
    functionsReached:
    - Cow::Borrowed
    linkageType: ''
    returnType: PrecClimber
    signature: 'pub const fn new_const(ops: &''static [(R, u32, Assoc)]) -> PrecClimber<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/pest/pest/src/prec_climber.rs:215,1
    - Dst: find
      Src: /src/pest/pest/src/prec_climber.rs:215,1
    - Dst: map
      Src: /src/pest/pest/src/prec_climber.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - rule
    argTypes:
    - '&R'
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 16
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: PrecClimber::get
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 1
    functionsReached:
    - iter
    - find
    - map
    linkageType: ''
    returnType: Option
    signature: 'fn get(&self, rule: &R) -> Option<(u32, Assoc)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_iter
      Src: /src/pest/pest/src/prec_climber.rs:246,1
    - Dst: zip
      Src: /src/pest/pest/src/prec_climber.rs:246,1
    - Dst: fold
      Src: /src/pest/pest/src/prec_climber.rs:246,1
    - Dst: Vec::new
      Src: /src/pest/pest/src/prec_climber.rs:249,1
    - Dst: Some
      Src: /src/pest/pest/src/prec_climber.rs:250,1
    - Dst: Option::take
      Src: /src/pest/pest/src/prec_climber.rs:252,1
    - Dst: push
      Src: /src/pest/pest/src/prec_climber.rs:259,1
    - Dst: map
      Src: /src/pest/pest/src/prec_climber.rs:260,1
    - Dst: Cow::Owned
      Src: /src/pest/pest/src/prec_climber.rs:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - ops
    argTypes:
    - Vec<Operator<R>>
    constantsTouched: []
    func_position:
      end: 269
      start: 245
    functionDepth: 17
    functionLinenumber: 245
    functionLinenumberEnd: 269
    functionName: PrecClimber::new
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 1
    functionsReached:
    - zip
    - Some
    - Cow::Owned
    - fold
    - into_iter
    - push
    - Vec::new
    - Option::take
    - map
    linkageType: ''
    returnType: PrecClimber
    signature: 'pub fn new(ops: Vec<Operator<R>>) -> PrecClimber<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primary
      Src: /src/pest/pest/src/prec_climber.rs:305,1
    - Dst: Result::next
      Src: /src/pest/pest/src/prec_climber.rs:306,1
    - Dst: Option::expect
      Src: /src/pest/pest/src/prec_climber.rs:306,1
    - Dst: PrecClimber::climb_rec
      Src: /src/pest/pest/src/prec_climber.rs:310,1
    - Dst: Result::peekable
      Src: /src/pest/pest/src/prec_climber.rs:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pairs
    - primary
    - infix
    argTypes:
    - P
    - F
    - G
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 17
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: PrecClimber::climb
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 0
    functionsReached:
    - Option::expect
    - Result::next
    - primary
    - PrecClimber::climb_rec
    - Result::peekable
    linkageType: ''
    returnType: T
    signature: 'pub fn climb<''i, P, F, G, T>(&self, mut pairs: P, mut primary: F,
      mut infix: G) -> TwhereP: Iterator<Item = Pair<''i, R>>,F: FnMut(Pair<''i, R>)
      -> T,G: FnMut(T, Pair<''i, R>, T) -> T,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::peek
      Src: /src/pest/pest/src/prec_climber.rs:326,1
    - Dst: ParseResult::is_some
      Src: /src/pest/pest/src/prec_climber.rs:326,1
    - Dst: Result::peek
      Src: /src/pest/pest/src/prec_climber.rs:327,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/pest/src/prec_climber.rs:327,1
    - Dst: as_rule
      Src: /src/pest/pest/src/prec_climber.rs:327,1
    - Dst: PrecClimber::get
      Src: /src/pest/pest/src/prec_climber.rs:328,1
    - Dst: Result::next
      Src: /src/pest/pest/src/prec_climber.rs:330,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/prec_climber.rs:330,1
    - Dst: primary
      Src: /src/pest/pest/src/prec_climber.rs:331,1
    - Dst: Result::next
      Src: /src/pest/pest/src/prec_climber.rs:331,1
    - Dst: Option::expect
      Src: /src/pest/pest/src/prec_climber.rs:331,1
    - Dst: Result::peek
      Src: /src/pest/pest/src/prec_climber.rs:336,1
    - Dst: ParseResult::is_some
      Src: /src/pest/pest/src/prec_climber.rs:336,1
    - Dst: Result::peek
      Src: /src/pest/pest/src/prec_climber.rs:337,1
    - Dst: ParseResult::unwrap
      Src: /src/pest/pest/src/prec_climber.rs:337,1
    - Dst: as_rule
      Src: /src/pest/pest/src/prec_climber.rs:337,1
    - Dst: PrecClimber::get
      Src: /src/pest/pest/src/prec_climber.rs:338,1
    - Dst: PrecClimber::climb_rec
      Src: /src/pest/pest/src/prec_climber.rs:340,1
    - Dst: infix
      Src: /src/pest/pest/src/prec_climber.rs:349,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 5
    argNames:
    - lhs
    - min_prec
    - pairs
    - primary
    - infix
    argTypes:
    - T
    - u32
    - '&mut Peekable<P>'
    - '&mut F'
    - '&mut G'
    constantsTouched: []
    func_position:
      end: 359
      start: 313
    functionDepth: 16
    functionLinenumber: 313
    functionLinenumberEnd: 359
    functionName: PrecClimber::climb_rec
    functionSourceFile: /src/pest/pest/src/prec_climber.rs
    functionUses: 2
    functionsReached:
    - Result::peek
    - PrecClimber::get
    - Option::expect
    - infix
    - ParseResult::is_some
    - Result::next
    - primary
    - as_rule
    - PrecClimber::climb_rec
    - ParseResult::unwrap
    - Option::unwrap
    linkageType: ''
    returnType: T
    signature: 'fn climb_rec<''i, P, F, G, T>(&self,mut lhs: T,min_prec: u32,pairs:
      &mut Peekable<P>,primary: &mut F,infix: &mut G,) -> TwhereP: Iterator<Item =
      Pair<''i, R>>,F: FnMut(Pair<''i, R>) -> T,G: FnMut(T, Pair<''i, R>, T) -> T,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/pest/pest/src/parser_state.rs:105,1
    - Dst: map
      Src: /src/pest/pest/src/parser_state.rs:105,1
    - Dst: get
      Src: /src/pest/pest/src/parser_state.rs:105,1
    - Dst: HashMap::unwrap_or
      Src: /src/pest/pest/src/parser_state.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Option<NonZeroUsize>
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 17
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: set_call_limit
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 3
    functionsReached:
    - store
    - HashMap::unwrap_or
    - map
    - get
    linkageType: ''
    returnType: void
    signature: 'pub fn set_call_limit(limit: Option<NonZeroUsize>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/pest/pest/src/parser_state.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: set_error_detail
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: 'pub fn set_error_detail(enabled: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pest/pest/src/parser_state.rs:131,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: CallLimitTracker::default
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Some
    - load
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some_and
      Src: /src/pest/pest/src/parser_state.rs:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: CallLimitTracker::limit_reached
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - is_some_and
    linkageType: ''
    returnType: bool
    signature: fn limit_reached(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: CallLimitTracker::increment_depth
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn increment_depth(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: ParseAttempt::get_rule
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn get_rule(&self) -> Option<&R>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deepest
    argTypes:
    - ParseAttempt<R>
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: RulesCallStack::new
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RulesCallStack
    signature: 'fn new(deepest: ParseAttempt<R>) -> RulesCallStack<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: ParsingToken::fmt
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::deref'
      Src: /src/pest/pest/src/parser_state.rs:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: BorrowedOrArc::as_str
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached:
    - '& ''static [Rule]::deref'
    linkageType: ''
    returnType: '&''a str'
    signature: 'fn as_str<''a: ''i>(&''a self) -> &''a str'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::Borrowed
      Src: /src/pest/pest/src/parser_state.rs:245,1
    - Dst: Self::Owned
      Src: /src/pest/pest/src/parser_state.rs:246,1
    - Dst: Arc::new
      Src: /src/pest/pest/src/parser_state.rs:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - Cow<'static, str>
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: BorrowedOrArc::from
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Self::Borrowed
    - Arc::new
    - Self::Owned
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Cow<''static, str>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BorrowedOrArc::Borrowed
      Src: /src/pest/pest/src/parser_state.rs:261,1
    - Dst: '& ''static [Rule]::as_str'
      Src: /src/pest/pest/src/parser_state.rs:261,1
    - Dst: '& ''static [Rule]::clone'
      Src: /src/pest/pest/src/parser_state.rs:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: SpanOrLiteral::as_borrowed_or_rc
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - BorrowedOrArc::Borrowed
    - '& ''static [Rule]::clone'
    - '& ''static [Rule]::as_str'
    linkageType: ''
    returnType: BorrowedOrArc
    signature: fn as_borrowed_or_rc(&self) -> BorrowedOrArc<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/pest/pest/src/parser_state.rs:294,1
    - Dst: Vec::with_capacity
      Src: /src/pest/pest/src/parser_state.rs:295,1
    - Dst: Vec::with_capacity
      Src: /src/pest/pest/src/parser_state.rs:296,1
    - Dst: load
      Src: /src/pest/pest/src/parser_state.rs:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: ParseAttempts::new
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - load
    - Vec::with_capacity
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: ParseAttempts::call_stacks_number
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: fn call_stacks_number(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/pest/pest/src/parser_state.rs:308,1
    - Dst: cloned
      Src: /src/pest/pest/src/parser_state.rs:308,1
    - Dst: "expected_tokens\n            .iter()\n            .cloned()\n        \
        \    .collect::<BTreeSet<_>>"
      Src: /src/pest/pest/src/parser_state.rs:308,1
    - Dst: into_iter
      Src: /src/pest/pest/src/parser_state.rs:308,1
    - Dst: collect
      Src: /src/pest/pest/src/parser_state.rs:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 16
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: ParseAttempts::expected_tokens
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - "expected_tokens\n            .iter()\n            .cloned()\n            .collect::<BTreeSet<_>>"
    - collect
    - iter
    - into_iter
    - cloned
    linkageType: ''
    returnType: Vec
    signature: pub fn expected_tokens(&self) -> Vec<ParsingToken>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/pest/pest/src/parser_state.rs:317,1
    - Dst: cloned
      Src: /src/pest/pest/src/parser_state.rs:317,1
    - Dst: "unexpected_tokens\n            .iter()\n            .cloned()\n      \
        \      .collect::<BTreeSet<_>>"
      Src: /src/pest/pest/src/parser_state.rs:317,1
    - Dst: into_iter
      Src: /src/pest/pest/src/parser_state.rs:317,1
    - Dst: collect
      Src: /src/pest/pest/src/parser_state.rs:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 16
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: ParseAttempts::unexpected_tokens
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - collect
    - iter
    - into_iter
    - "unexpected_tokens\n            .iter()\n            .cloned()\n           \
      \ .collect::<BTreeSet<_>>"
    - cloned
    linkageType: ''
    returnType: Vec
    signature: pub fn unexpected_tokens(&self) -> Vec<ParsingToken>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/pest/pest/src/parser_state.rs:327,1
    - Dst: cloned
      Src: /src/pest/pest/src/parser_state.rs:327,1
    - Dst: "call_stacks\n            .iter()\n            .cloned()\n            .collect::<BTreeSet<_>>"
      Src: /src/pest/pest/src/parser_state.rs:327,1
    - Dst: into_iter
      Src: /src/pest/pest/src/parser_state.rs:327,1
    - Dst: collect
      Src: /src/pest/pest/src/parser_state.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 16
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: ParseAttempts::call_stacks
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - "call_stacks\n            .iter()\n            .cloned()\n            .collect::<BTreeSet<_>>"
    - collect
    - iter
    - into_iter
    - cloned
    linkageType: ''
    returnType: Vec
    signature: pub fn call_stacks(&self) -> Vec<RulesCallStack<R>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/pest/pest/src/parser_state.rs:344,1
    - Dst: iter
      Src: /src/pest/pest/src/parser_state.rs:346,1
    - Dst: skip
      Src: /src/pest/pest/src/parser_state.rs:346,1
    - Dst: Self::push
      Src: /src/pest/pest/src/parser_state.rs:350,1
    - Dst: clone
      Src: /src/pest/pest/src/parser_state.rs:350,1
    - Dst: Self::is_empty
      Src: /src/pest/pest/src/parser_state.rs:353,1
    - Dst: Self::push
      Src: /src/pest/pest/src/parser_state.rs:357,1
    - Dst: RulesCallStack::new
      Src: /src/pest/pest/src/parser_state.rs:357,1
    - Dst: splice
      Src: /src/pest/pest/src/parser_state.rs:359,1
    - Dst: ParseAttempts::call_stacks_number
      Src: /src/pest/pest/src/parser_state.rs:363,1
    - Dst: truncate
      Src: /src/pest/pest/src/parser_state.rs:365,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:366,1
    - Dst: RulesCallStack::new
      Src: /src/pest/pest/src/parser_state.rs:367,1
    - Dst: ParseAttempt::Rule
      Src: /src/pest/pest/src/parser_state.rs:367,1
    - Dst: iter_mut
      Src: /src/pest/pest/src/parser_state.rs:369,1
    - Dst: skip
      Src: /src/pest/pest/src/parser_state.rs:369,1
    - Dst: ParseAttempt::Rule
      Src: /src/pest/pest/src/parser_state.rs:371,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 63
    argCount: 2
    argNames:
    - rule
    - start_index
    argTypes:
    - R
    - usize
    constantsTouched: []
    func_position:
      end: 377
      start: 343
    functionDepth: 16
    functionLinenumber: 343
    functionLinenumberEnd: 377
    functionName: ParseAttempts::try_add_new_stack_rule
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - Some
    - splice
    - ParseAttempt::Rule
    - ParseAttempts::call_stacks_number
    - skip
    - Self::push
    - clone
    - iter
    - Self::is_empty
    - RulesCallStack::new
    - push
    - Vec::new
    - truncate
    linkageType: ''
    returnType: void
    signature: 'fn try_add_new_stack_rule(&mut self, rule: R, start_index: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:400,1
    - Dst: target_vec_push_token
      Src: /src/pest/pest/src/parser_state.rs:410,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:418,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:419,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:420,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:421,1
    - Dst: RulesCallStack::new
      Src: /src/pest/pest/src/parser_state.rs:422,1
    - Dst: target_vec_push_token
      Src: /src/pest/pest/src/parser_state.rs:424,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:425,1
    - Dst: RulesCallStack::new
      Src: /src/pest/pest/src/parser_state.rs:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 4
    argNames:
    - token
    - start_position
    - position
    - negative_lookahead
    argTypes:
    - ParsingToken
    - usize
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 428
      start: 387
    functionDepth: 14
    functionLinenumber: 387
    functionLinenumberEnd: 428
    functionName: ParseAttempts::try_add_new_token
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - target_vec_push_token
    - clear
    - push
    - RulesCallStack::new
    linkageType: ''
    returnType: void
    signature: 'fn try_add_new_token(&mut self,token: ParsingToken,start_position:
      usize,position: usize,negative_lookahead: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:433,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:434,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - new_max_position
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 14
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: ParseAttempts::nullify_expected_tokens
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: 'fn nullify_expected_tokens(&mut self, new_max_position: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/pest/pest/src/parser_state.rs:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: ParseAttempts::default
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::new
      Src: /src/pest/pest/src/parser_state.rs:511,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:513,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:515,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:516,1
    - Dst: iterators::pairs::new
      Src: /src/pest/pest/src/parser_state.rs:516,1
    - Dst: Rc::new
      Src: /src/pest/pest/src/parser_state.rs:516,1
    - Dst: Result::reached_call_limit
      Src: /src/pest/pest/src/parser_state.rs:519,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/parser_state.rs:521,1
    - Dst: sort
      Src: /src/pest/pest/src/parser_state.rs:524,1
    - Dst: dedup
      Src: /src/pest/pest/src/parser_state.rs:525,1
    - Dst: sort
      Src: /src/pest/pest/src/parser_state.rs:526,1
    - Dst: dedup
      Src: /src/pest/pest/src/parser_state.rs:527,1
    - Dst: clone
      Src: /src/pest/pest/src/parser_state.rs:529,1
    - Dst: clone
      Src: /src/pest/pest/src/parser_state.rs:530,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:535,1
    - Dst: Error::new_from_pos_with_parsing_attempts
      Src: /src/pest/pest/src/parser_state.rs:535,1
    - Dst: Position::new_internal
      Src: /src/pest/pest/src/parser_state.rs:537,1
    - Dst: clone
      Src: /src/pest/pest/src/parser_state.rs:538,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:541,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/parser_state.rs:541,1
    - Dst: Position::new_internal
      Src: /src/pest/pest/src/parser_state.rs:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 2
    argNames:
    - input
    - f
    argTypes:
    - '&''i str'
    - F
    constantsTouched: []
    func_position:
      end: 548
      start: 507
    functionDepth: 19
    functionLinenumber: 507
    functionLinenumberEnd: 548
    functionName: state
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 8
    functionsReached:
    - ParserState::new
    - dedup
    - Error::new_from_pos
    - Position::new_internal
    - Ok
    - len
    - f
    - '&str::to_owned'
    - sort
    - clone
    - Rc::new
    - Err
    - iterators::pairs::new
    - Result::reached_call_limit
    - Error::new_from_pos_with_parsing_attempts
    linkageType: ''
    returnType: Result
    signature: 'pub fn state<''i, R: RuleType, F>(input: &''i str, f: F) -> Result<pairs::Pairs<''i,
      R>, Error<R>>whereF: FnOnce(Box<ParserState<''i, R>>) -> ParseResult<Box<ParserState<''i,
      R>>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/pest/src/parser_state.rs:562,1
    - Dst: Position::from_start
      Src: /src/pest/pest/src/parser_state.rs:563,1
    - Dst: Stack::new
      Src: /src/pest/pest/src/parser_state.rs:570,1
    - Dst: Default::default
      Src: /src/pest/pest/src/parser_state.rs:571,1
    - Dst: ParseAttempts::new
      Src: /src/pest/pest/src/parser_state.rs:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&''i str'
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: ParserState::new
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached:
    - ParseAttempts::new
    - Default::default
    - Stack::new
    - Box::new
    - Position::from_start
    linkageType: ''
    returnType: Box
    signature: 'pub fn new(input: &''i str) -> Box<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: ParserState::get_parse_attempts
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&ParseAttempts'
    signature: pub fn get_parse_attempts(&self) -> &ParseAttempts<R>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: ParserState::position
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&Position'
    signature: pub fn position(&self) -> &Position<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: ParserState::atomicity
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Atomicity
    signature: pub fn atomicity(&self) -> Atomicity
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit_reached
      Src: /src/pest/pest/src/parser_state.rs:626,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:627,1
    - Dst: increment_depth
      Src: /src/pest/pest/src/parser_state.rs:629,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: ParserState::inc_call_check_limit
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 7
    functionsReached:
    - Err
    - limit_reached
    - Ok
    - increment_depth
    linkageType: ''
    returnType: ParseResult
    signature: 'fn inc_call_check_limit(mut self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit_reached
      Src: /src/pest/pest/src/parser_state.rs:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: ParserState::reached_call_limit
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - limit_reached
    linkageType: ''
    returnType: bool
    signature: fn reached_call_limit(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:663,1
    - Dst: pos
      Src: /src/pest/pest/src/parser_state.rs:665,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:667,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:670,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:670,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:678,1
    - Dst: ParserState::attempts_at
      Src: /src/pest/pest/src/parser_state.rs:687,1
    - Dst: call_stacks_number
      Src: /src/pest/pest/src/parser_state.rs:694,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:700,1
    - Dst: try_add_new_stack_rule
      Src: /src/pest/pest/src/parser_state.rs:710,1
    - Dst: track
      Src: /src/pest/pest/src/parser_state.rs:719,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:733,1
    - Dst: pos
      Src: /src/pest/pest/src/parser_state.rs:742,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:744,1
    - Dst: try_add_rule_to_stack
      Src: /src/pest/pest/src/parser_state.rs:756,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:758,1
    - Dst: track
      Src: /src/pest/pest/src/parser_state.rs:762,1
    - Dst: try_add_rule_to_stack
      Src: /src/pest/pest/src/parser_state.rs:770,1
    - Dst: truncate
      Src: /src/pest/pest/src/parser_state.rs:777,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:780,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 124
    argCount: 3
    argNames:
    - rule
    - f
    argTypes:
    - Box<Self>
    - R
    - F
    constantsTouched: []
    func_position:
      end: 783
      start: 659
    functionDepth: 15
    functionLinenumber: 659
    functionLinenumberEnd: 783
    functionName: ParserState::rule
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::attempts_at
    - ParserState::inc_call_check_limit
    - pos
    - try_add_new_stack_rule
    - track
    - try_add_rule_to_stack
    - Ok
    - len
    - f
    - push
    - Err
    - call_stacks_number
    - truncate
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: last_mut
      Src: /src/pest/pest/src/parser_state.rs:819,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:820,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tag
    argTypes:
    - Box<Self>
    - '&''i str'
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: ParserState::tag_node
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - last_mut
    - Some
    - Ok
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn tag_node(mut self: Box<Self>, tag: &''i str) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:828,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pos
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: ParserState::attempts_at
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: 'fn attempts_at(&self, pos: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::attempts_at
      Src: /src/pest/pest/src/parser_state.rs:849,1
    - Dst: truncate
      Src: /src/pest/pest/src/parser_state.rs:855,1
    - Dst: truncate
      Src: /src/pest/pest/src/parser_state.rs:856,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:860,1
    - Dst: clear
      Src: /src/pest/pest/src/parser_state.rs:861,1
    - Dst: '&ParseAttempts::push'
      Src: /src/pest/pest/src/parser_state.rs:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 5
    argNames:
    - rule
    - pos
    - pos_attempts_index
    - neg_attempts_index
    - prev_attempts
    argTypes:
    - R
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 874
      start: 834
    functionDepth: 14
    functionLinenumber: 834
    functionLinenumberEnd: 874
    functionName: ParserState::track
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::attempts_at
    - clear
    - truncate
    - '&ParseAttempts::push'
    linkageType: ''
    returnType: void
    signature: 'fn track(&mut self,rule: R,pos: usize,pos_attempts_index: usize,neg_attempts_index:
      usize,prev_attempts: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:913,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:914,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:917,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:920,1
    - Dst: truncate
      Src: /src/pest/pest/src/parser_state.rs:924,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 928
      start: 909
    functionDepth: 19
    functionLinenumber: 909
    functionLinenumberEnd: 928
    functionName: ParserState::sequence
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::inc_call_check_limit
    - Ok
    - len
    - f
    - Err
    - truncate
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn sequence<F>(mut self: Box<Self>, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:963,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:964,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:968,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 972
      start: 959
    functionDepth: 19
    functionLinenumber: 959
    functionLinenumberEnd: 972
    functionName: ParserState::repeat
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ParserState::inc_call_check_limit
    - f
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn repeat<F>(mut self: Box<Self>, mut f: F) -> ParseResult<Box<Self>>whereF:
      FnMut(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:1005,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:1006,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 19
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: ParserState::optional
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ParserState::inc_call_check_limit
    - f
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn optional<F>(mut self: Box<Self>, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pos
      Src: /src/pest/pest/src/parser_state.rs:1021,1
    - Dst: try_add_new_token
      Src: /src/pest/pest/src/parser_state.rs:1025,1
    - Dst: nullify_expected_tokens
      Src: /src/pest/pest/src/parser_state.rs:1028,1
    - Dst: try_add_new_token
      Src: /src/pest/pest/src/parser_state.rs:1031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - start_position
    - token
    - parse_succeeded
    argTypes:
    - usize
    - ParsingToken
    - bool
    constantsTouched: []
    func_position:
      end: 1034
      start: 1013
    functionDepth: 15
    functionLinenumber: 1013
    functionLinenumberEnd: 1034
    functionName: ParserState::handle_token_parse_result
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 4
    functionsReached:
    - nullify_expected_tokens
    - try_add_new_token
    - pos
    linkageType: ''
    returnType: void
    signature: 'fn handle_token_parse_result(&mut self,start_position: usize,token:
      ParsingToken,parse_succeeded: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pos
      Src: /src/pest/pest/src/parser_state.rs:1065,1
    - Dst: match_char_by
      Src: /src/pest/pest/src/parser_state.rs:1066,1
    - Dst: ParserState::handle_token_parse_result
      Src: /src/pest/pest/src/parser_state.rs:1069,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1072,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 15
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: ParserState::match_char_by
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - pos
    - match_char_by
    - Err
    - Ok
    - ParserState::handle_token_parse_result
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn match_char_by<F>(mut self: Box<Self>, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(char) -> bool,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pos
      Src: /src/pest/pest/src/parser_state.rs:1102,1
    - Dst: match_string
      Src: /src/pest/pest/src/parser_state.rs:1103,1
    - Dst: String::from
      Src: /src/pest/pest/src/parser_state.rs:1106,1
    - Dst: ParserState::handle_token_parse_result
      Src: /src/pest/pest/src/parser_state.rs:1108,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1111,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - string
    argTypes:
    - Box<Self>
    - '&str'
    constantsTouched: []
    func_position:
      end: 1115
      start: 1101
    functionDepth: 15
    functionLinenumber: 1101
    functionLinenumberEnd: 1115
    functionName: ParserState::match_string
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached:
    - pos
    - String::from
    - Ok
    - Err
    - match_string
    - ParserState::handle_token_parse_result
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn match_string(mut self: Box<Self>, string: &str) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:1144,1
    - Dst: SpanOrLiteral::Literal
      Src: /src/pest/pest/src/parser_state.rs:1145,1
    - Dst: into
      Src: /src/pest/pest/src/parser_state.rs:1145,1
    - Dst: into
      Src: /src/pest/pest/src/parser_state.rs:1145,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - string
    argTypes:
    - Box<Self>
    - impl Into<Cow<'static, str>>
    constantsTouched: []
    func_position:
      end: 1147
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1147
    functionName: ParserState::stack_push_literal
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - SpanOrLiteral::Literal
    - Ok
    - push
    - into
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_push_literal(mut self: Box<Self>,string: impl Into<Cow<''static,
      str>>,) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::position
      Src: /src/pest/pest/src/parser_state.rs:1173,1
    - Dst: '&Position::pos'
      Src: /src/pest/pest/src/parser_state.rs:1173,1
    - Dst: match_insensitive
      Src: /src/pest/pest/src/parser_state.rs:1174,1
    - Dst: String::from
      Src: /src/pest/pest/src/parser_state.rs:1177,1
    - Dst: ParserState::handle_token_parse_result
      Src: /src/pest/pest/src/parser_state.rs:1179,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1182,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - string
    argTypes:
    - Box<Self>
    - '&str'
    constantsTouched: []
    func_position:
      end: 1186
      start: 1172
    functionDepth: 15
    functionLinenumber: 1172
    functionLinenumberEnd: 1186
    functionName: ParserState::match_insensitive
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::handle_token_parse_result
    - String::from
    - Ok
    - Err
    - '&Position::pos'
    - ParserState::position
    - match_insensitive
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn match_insensitive(mut self: Box<Self>, string: &str) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::position
      Src: /src/pest/pest/src/parser_state.rs:1215,1
    - Dst: '&Position::pos'
      Src: /src/pest/pest/src/parser_state.rs:1215,1
    - Dst: match_range
      Src: /src/pest/pest/src/parser_state.rs:1220,1
    - Dst: ParserState::handle_token_parse_result
      Src: /src/pest/pest/src/parser_state.rs:1222,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1225,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - range
    argTypes:
    - Box<Self>
    - Range<char>
    constantsTouched: []
    func_position:
      end: 1229
      start: 1214
    functionDepth: 15
    functionLinenumber: 1214
    functionLinenumberEnd: 1229
    functionName: ParserState::match_range
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - match_range
    - ParserState::handle_token_parse_result
    - Ok
    - Err
    - '&Position::pos'
    - ParserState::position
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn match_range(mut self: Box<Self>, range: Range<char>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/pest/pest/src/parser_state.rs:1255,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1256,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    argTypes:
    - Box<Self>
    - usize
    constantsTouched: []
    func_position:
      end: 1260
      start: 1254
    functionDepth: 22
    functionLinenumber: 1254
    functionLinenumberEnd: 1260
    functionName: ParserState::skip
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Ok
    - skip
    - Err
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn skip(mut self: Box<Self>, n: usize) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_until
      Src: /src/pest/pest/src/parser_state.rs:1281,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strings
    argTypes:
    - Box<Self>
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 1283
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1283
    functionName: ParserState::skip_until
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Ok
    - skip_until
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn skip_until(mut self: Box<Self>, strings: &[&str]) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at_start
      Src: /src/pest/pest/src/parser_state.rs:1308,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1309,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1313
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1313
    functionName: ParserState::start_of_input
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    - at_start
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn start_of_input(self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at_end
      Src: /src/pest/pest/src/parser_state.rs:1338,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1339,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: ParserState::end_of_input
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - at_end
    - Ok
    - Err
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn end_of_input(self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:1374,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:1391,1
    - Dst: ParserState::checkpoint
      Src: /src/pest/pest/src/parser_state.rs:1391,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1397,1
    - Dst: restore
      Src: /src/pest/pest/src/parser_state.rs:1397,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1402,1
    - Dst: restore
      Src: /src/pest/pest/src/parser_state.rs:1402,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1410,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - is_positive
    - f
    argTypes:
    - Box<Self>
    - bool
    - F
    constantsTouched: []
    func_position:
      end: 1414
      start: 1370
    functionDepth: 19
    functionLinenumber: 1370
    functionLinenumberEnd: 1414
    functionName: ParserState::lookahead
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - restore
    - ParserState::inc_call_check_limit
    - Ok
    - Err
    - f
    - ParserState::checkpoint
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn lookahead<F>(mut self: Box<Self>, is_positive: bool, f: F)
      -> ParseResult<Box<Self>>whereF: FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:1443,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:1457,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1464,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - atomicity
    - f
    argTypes:
    - Box<Self>
    - Atomicity
    - F
    constantsTouched: []
    func_position:
      end: 1473
      start: 1439
    functionDepth: 19
    functionLinenumber: 1439
    functionLinenumberEnd: 1473
    functionName: ParserState::atomic
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - ParserState::inc_call_check_limit
    - f
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn atomic<F>(mut self: Box<Self>, atomicity: Atomicity, f: F)
      -> ParseResult<Box<Self>>whereF: FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::inc_call_check_limit
      Src: /src/pest/pest/src/parser_state.rs:1498,1
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:1501,1
    - Dst: push
      Src: /src/pest/pest/src/parser_state.rs:1506,1
    - Dst: SpanOrLiteral::Span
      Src: /src/pest/pest/src/parser_state.rs:1506,1
    - Dst: span
      Src: /src/pest/pest/src/parser_state.rs:1506,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1507,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 1511
      start: 1494
    functionDepth: 19
    functionLinenumber: 1494
    functionLinenumberEnd: 1511
    functionName: ParserState::stack_push
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::inc_call_check_limit
    - span
    - Ok
    - Err
    - f
    - push
    - SpanOrLiteral::Span
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_push<F>(mut self: Box<Self>, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/pest/pest/src/parser_state.rs:1534,1
    - Dst: expect
      Src: /src/pest/pest/src/parser_state.rs:1534,1
    - Dst: as_borrowed_or_rc
      Src: /src/pest/pest/src/parser_state.rs:1534,1
    - Dst: ParserState::match_string
      Src: /src/pest/pest/src/parser_state.rs:1539,1
    - Dst: as_str
      Src: /src/pest/pest/src/parser_state.rs:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1540
      start: 1533
    functionDepth: 15
    functionLinenumber: 1533
    functionLinenumberEnd: 1540
    functionName: ParserState::stack_peek
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - as_borrowed_or_rc
    - expect
    - peek
    - as_str
    - ParserState::match_string
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_peek(self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/pest/pest/src/parser_state.rs:1563,1
    - Dst: expect
      Src: /src/pest/pest/src/parser_state.rs:1563,1
    - Dst: as_borrowed_or_rc
      Src: /src/pest/pest/src/parser_state.rs:1563,1
    - Dst: ParserState::match_string
      Src: /src/pest/pest/src/parser_state.rs:1568,1
    - Dst: as_str
      Src: /src/pest/pest/src/parser_state.rs:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1569
      start: 1562
    functionDepth: 15
    functionLinenumber: 1562
    functionLinenumberEnd: 1569
    functionName: ParserState::stack_pop
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - as_borrowed_or_rc
    - expect
    - as_str
    - pop
    - ParserState::match_string
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_pop(mut self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constrain_idxs
      Src: /src/pest/pest/src/parser_state.rs:1602,1
    - Dst: len
      Src: /src/pest/pest/src/parser_state.rs:1602,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1604,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1608,1
    - Dst: iter
      Src: /src/pest/pest/src/parser_state.rs:1613,1
    - Dst: '&Position::match_string'
      Src: /src/pest/pest/src/parser_state.rs:1615,1
    - Dst: LinesSpan::as_borrowed_or_rc
      Src: /src/pest/pest/src/parser_state.rs:1615,1
    - Dst: BorrowedOrArc::as_str
      Src: /src/pest/pest/src/parser_state.rs:1615,1
    - Dst: all
      Src: /src/pest/pest/src/parser_state.rs:1617,1
    - Dst: rev
      Src: /src/pest/pest/src/parser_state.rs:1618,1
    - Dst: all
      Src: /src/pest/pest/src/parser_state.rs:1618,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1623,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 4
    argNames:
    - start
    - end
    - match_dir
    argTypes:
    - Box<Self>
    - i32
    - Option<i32>
    - MatchDir
    constantsTouched: []
    func_position:
      end: 1627
      start: 1596
    functionDepth: 16
    functionLinenumber: 1596
    functionLinenumberEnd: 1627
    functionName: ParserState::stack_match_peek_slice
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - rev
    - LinesSpan::as_borrowed_or_rc
    - BorrowedOrArc::as_str
    - all
    - iter
    - Err
    - len
    - Ok
    - '&Position::match_string'
    - constrain_idxs
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_match_peek_slice(mut self: Box<Self>,start: i32,end:
      Option<i32>,match_dir: MatchDir,) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserState::stack_match_peek_slice
      Src: /src/pest/pest/src/parser_state.rs:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1651
      start: 1649
    functionDepth: 17
    functionLinenumber: 1649
    functionLinenumberEnd: 1651
    functionName: ParserState::stack_match_peek
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - ParserState::stack_match_peek_slice
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_match_peek(self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/pest/pest/src/parser_state.rs:1675,1
    - Dst: '&Position::match_string'
      Src: /src/pest/pest/src/parser_state.rs:1676,1
    - Dst: LinesSpan::as_borrowed_or_rc
      Src: /src/pest/pest/src/parser_state.rs:1676,1
    - Dst: BorrowedOrArc::as_str
      Src: /src/pest/pest/src/parser_state.rs:1676,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1684,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1688
      start: 1672
    functionDepth: 15
    functionLinenumber: 1672
    functionLinenumberEnd: 1688
    functionName: ParserState::stack_match_pop
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - BorrowedOrArc::as_str
    - Ok
    - Err
    - pop
    - '&Position::match_string'
    - LinesSpan::as_borrowed_or_rc
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_match_pop(mut self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/pest/pest/src/parser_state.rs:1711,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1712,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1715
      start: 1710
    functionDepth: 15
    functionLinenumber: 1710
    functionLinenumberEnd: 1715
    functionName: ParserState::stack_drop
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - pop
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn stack_drop(mut self: Box<Self>) -> ParseResult<Box<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/pest/pest/src/parser_state.rs:1745,1
    - Dst: ParserState::checkpoint
      Src: /src/pest/pest/src/parser_state.rs:1745,1
    - Dst: Ok
      Src: /src/pest/pest/src/parser_state.rs:1746,1
    - Dst: Result::checkpoint_ok
      Src: /src/pest/pest/src/parser_state.rs:1746,1
    - Dst: Err
      Src: /src/pest/pest/src/parser_state.rs:1747,1
    - Dst: Result::restore
      Src: /src/pest/pest/src/parser_state.rs:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - f
    argTypes:
    - Box<Self>
    - F
    constantsTouched: []
    func_position:
      end: 1749
      start: 1741
    functionDepth: 19
    functionLinenumber: 1741
    functionLinenumberEnd: 1749
    functionName: ParserState::restore_on_err
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - Result::checkpoint_ok
    - f
    - ParserState::checkpoint
    - Result::restore
    linkageType: ''
    returnType: ParseResult
    signature: 'pub fn restore_on_err<F>(self: Box<Self>, f: F) -> ParseResult<Box<Self>>whereF:
      FnOnce(Box<Self>) -> ParseResult<Box<Self>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snapshot
      Src: /src/pest/pest/src/parser_state.rs:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1756
      start: 1753
    functionDepth: 3
    functionLinenumber: 1753
    functionLinenumberEnd: 1756
    functionName: ParserState::checkpoint
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 2
    functionsReached:
    - snapshot
    linkageType: ''
    returnType: Box
    signature: 'pub(crate) fn checkpoint(mut self: Box<Self>) -> Box<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_snapshot
      Src: /src/pest/pest/src/parser_state.rs:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1764
      start: 1761
    functionDepth: 16
    functionLinenumber: 1761
    functionLinenumberEnd: 1764
    functionName: ParserState::checkpoint_ok
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - clear_snapshot
    linkageType: ''
    returnType: Box
    signature: 'pub(crate) fn checkpoint_ok(mut self: Box<Self>) -> Box<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/pest/pest/src/parser_state.rs:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 1771
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1771
    functionName: ParserState::restore
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: Box
    signature: 'pub(crate) fn restore(mut self: Box<Self>) -> Box<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalize_index
      Src: /src/pest/pest/src/parser_state.rs:1776,1
    - Dst: map_or
      Src: /src/pest/pest/src/parser_state.rs:1777,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:1777,1
    - Dst: normalize_index
      Src: /src/pest/pest/src/parser_state.rs:1777,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - start
    - end
    - len
    argTypes:
    - i32
    - Option<i32>
    - usize
    constantsTouched: []
    func_position:
      end: 1779
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1779
    functionName: constrain_idxs
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - map_or
    - Some
    - normalize_index
    linkageType: ''
    returnType: Option
    signature: 'fn constrain_idxs(start: i32, end: Option<i32>, len: usize) -> Option<Range<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:1788,1
    - Dst: Some
      Src: /src/pest/pest/src/parser_state.rs:1792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - i
    - len
    argTypes:
    - i32
    - usize
    constantsTouched: []
    func_position:
      end: 1797
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1797
    functionName: normalize_index
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn normalize_index(i: i32, len: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1808
    functionName: test::normalize_index_pos
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn normalize_index_pos()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1815
    functionName: test::normalize_index_neg
    functionSourceFile: /src/pest/pest/src/parser_state.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn normalize_index_neg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - start
    - end
    argTypes:
    - '&str'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Span::new_internal
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: 'pub(crate) fn new_internal(input: &str, start: usize, end: usize)
      -> Span<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pest/pest/src/span.rs:48,1
    - Dst: is_some
      Src: /src/pest/pest/src/span.rs:48,1
    - Dst: Some
      Src: /src/pest/pest/src/span.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - input
    - start
    - end
    argTypes:
    - '&str'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 17
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: Span::new
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 32
    functionsReached:
    - is_some
    - Some
    - get
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(input: &str, start: usize, end: usize) -> Option<Span<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_bound
      Src: /src/pest/pest/src/span.rs:68,1
    - Dst: end_bound
      Src: /src/pest/pest/src/span.rs:73,1
    - Dst: Span::as_str
      Src: /src/pest/pest/src/span.rs:76,1
    - Dst: '&''i str::len'
      Src: /src/pest/pest/src/span.rs:76,1
    - Dst: Span::as_str
      Src: /src/pest/pest/src/span.rs:79,1
    - Dst: '&''i str::get'
      Src: /src/pest/pest/src/span.rs:79,1
    - Dst: map
      Src: /src/pest/pest/src/span.rs:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - range
    argTypes:
    - impl RangeBounds<usize>
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 17
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: Span::get
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 2
    functionsReached:
    - Span::as_str
    - '&''i str::get'
    - '&''i str::len'
    - start_bound
    - end_bound
    - map
    linkageType: ''
    returnType: Option
    signature: 'pub fn get(&self, range: impl RangeBounds<usize>) -> Option<Span<''i>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Span::start
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn start(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Span::end
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn end(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/span.rs:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Span::start_pos
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 3
    functionsReached:
    - position::Position::new_internal
    linkageType: ''
    returnType: position::Position
    signature: pub fn start_pos(&self) -> position::Position<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/span.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Span::end_pos
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 2
    functionsReached:
    - position::Position::new_internal
    linkageType: ''
    returnType: position::Position
    signature: pub fn end_pos(&self) -> position::Position<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/span.rs:173,1
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/span.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: Span::split
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 1
    functionsReached:
    - position::Position::new_internal
    linkageType: ''
    returnType: (position::Position
    signature: pub fn split(self) -> (position::Position<'i>, position::Position<'i>)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: Span::as_str
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn as_str(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Span::get_input
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn get_input(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::lines_span
      Src: /src/pest/pest/src/span.rs:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: Span::lines
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 4
    functionsReached:
    - Span::lines_span
    linkageType: ''
    returnType: Lines
    signature: pub fn lines(&self) -> Lines<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: Span::lines_span
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: LinesSpan
    signature: pub fn lines_span(&self) -> LinesSpan<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/pest/pest/src/span.rs:276,1
    - Dst: field
      Src: /src/pest/pest/src/span.rs:276,1
    - Dst: Span::as_str
      Src: /src/pest/pest/src/span.rs:277,1
    - Dst: field
      Src: /src/pest/pest/src/span.rs:276,1
    - Dst: finish
      Src: /src/pest/pest/src/span.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: Span::fmt
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - Span::as_str
    - finish
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr::eq
      Src: /src/pest/pest/src/span.rs:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Span<''i>'
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Span::eq
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - ptr::eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Span<''i>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/pest/pest/src/span.rs:293,1
    - Dst: hash
      Src: /src/pest/pest/src/span.rs:294,1
    - Dst: hash
      Src: /src/pest/pest/src/span.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: Span::hash
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: void
    signature: 'fn hash<H: Hasher>(&self, state: &mut H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/pest/pest/src/span.rs:341,1
    - Dst: start
      Src: /src/pest/pest/src/span.rs:341,1
    - Dst: start
      Src: /src/pest/pest/src/span.rs:341,1
    - Dst: end
      Src: /src/pest/pest/src/span.rs:341,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:343,1
    - Dst: get_input
      Src: /src/pest/pest/src/span.rs:344,1
    - Dst: core::cmp::min
      Src: /src/pest/pest/src/span.rs:345,1
    - Dst: start
      Src: /src/pest/pest/src/span.rs:345,1
    - Dst: start
      Src: /src/pest/pest/src/span.rs:345,1
    - Dst: core::cmp::max
      Src: /src/pest/pest/src/span.rs:346,1
    - Dst: end
      Src: /src/pest/pest/src/span.rs:346,1
    - Dst: end
      Src: /src/pest/pest/src/span.rs:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Span<''i>'
    - '&Span<''i>'
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 15
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: merge_spans
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 3
    functionsReached:
    - core::cmp::max
    - get_input
    - end
    - start
    - Span::new
    - core::cmp::min
    linkageType: ''
    returnType: Option
    signature: 'pub fn merge_spans<''i>(a: &Span<''i>, b: &Span<''i>) -> Option<Span<''i>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::new
      Src: /src/pest/pest/src/span.rs:370,1
    - Dst: at_end
      Src: /src/pest/pest/src/span.rs:371,1
    - Dst: find_line_start
      Src: /src/pest/pest/src/span.rs:375,1
    - Dst: find_line_end
      Src: /src/pest/pest/src/span.rs:376,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 18
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: LinesSpan::next
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - find_line_start
    - at_end
    - position::Position::new
    - find_line_end
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pest/pest/src/span.rs:394,1
    - Dst: map
      Src: /src/pest/pest/src/span.rs:394,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/pest/src/span.rs:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 16
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Lines::next
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 1
    functionsReached:
    - next
    - map
    - LinesSpan::as_str
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:407,1
    - Dst: len
      Src: /src/pest/pest/src/span.rs:407,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:407,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:411,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:416,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:421,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 405
    functionDepth: 18
    functionLinenumber: 405
    functionLinenumberEnd: 430
    functionName: tests::get
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - len
    - Span::new
    - Option::unwrap
    - LinesSpan::get
    linkageType: ''
    returnType: void
    signature: fn get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:435,1
    - Dst: len
      Src: /src/pest/pest/src/span.rs:435,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:435,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:437,1
    - Dst: LinesSpan::get
      Src: /src/pest/pest/src/span.rs:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 18
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: tests::get_fails
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - len
    - Span::new
    - Option::unwrap
    - LinesSpan::get
    linkageType: ''
    returnType: void
    signature: fn get_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:447,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:447,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:448,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:450,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 18
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: tests::span_comp
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn span_comp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::from_start
      Src: /src/pest/pest/src/span.rs:457,1
    - Dst: clone
      Src: /src/pest/pest/src/span.rs:462,1
    - Dst: FlatPairs::span
      Src: /src/pest/pest/src/span.rs:462,1
    - Dst: clone
      Src: /src/pest/pest/src/span.rs:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: tests::split
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - FlatPairs::span
    - clone
    - position::Position::from_start
    linkageType: ''
    returnType: void
    signature: fn split()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:470,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:470,1
    - Dst: LinesSpan::lines
      Src: /src/pest/pest/src/span.rs:471,1
    - Dst: Lines::collect
      Src: /src/pest/pest/src/span.rs:471,1
    - Dst: LinesSpan::lines_span
      Src: /src/pest/pest/src/span.rs:472,1
    - Dst: LinesSpan::map
      Src: /src/pest/pest/src/span.rs:472,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/pest/src/span.rs:472,1
    - Dst: HashMap::collect
      Src: /src/pest/pest/src/span.rs:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 18
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: tests::lines_mid
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - LinesSpan::map
    - Option::unwrap
    - Span::new
    - LinesSpan::lines_span
    - HashMap::collect
    - LinesSpan::lines
    - Lines::collect
    - LinesSpan::as_str
    linkageType: ''
    returnType: void
    signature: fn lines_mid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:483,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:483,1
    - Dst: LinesSpan::lines
      Src: /src/pest/pest/src/span.rs:486,1
    - Dst: Lines::collect
      Src: /src/pest/pest/src/span.rs:486,1
    - Dst: LinesSpan::lines_span
      Src: /src/pest/pest/src/span.rs:487,1
    - Dst: LinesSpan::map
      Src: /src/pest/pest/src/span.rs:487,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/pest/src/span.rs:487,1
    - Dst: HashMap::collect
      Src: /src/pest/pest/src/span.rs:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 481
    functionDepth: 18
    functionLinenumber: 481
    functionLinenumberEnd: 493
    functionName: tests::lines_eof
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - LinesSpan::map
    - Option::unwrap
    - Span::new
    - LinesSpan::lines_span
    - HashMap::collect
    - LinesSpan::lines
    - Lines::collect
    - LinesSpan::as_str
    linkageType: ''
    returnType: void
    signature: fn lines_eof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:498,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:498,1
    - Dst: LinesSpan::lines_span
      Src: /src/pest/pest/src/span.rs:499,1
    - Dst: LinesSpan::collect
      Src: /src/pest/pest/src/span.rs:499,1
    - Dst: LinesSpan::lines
      Src: /src/pest/pest/src/span.rs:500,1
    - Dst: Lines::collect
      Src: /src/pest/pest/src/span.rs:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 496
    functionDepth: 18
    functionLinenumber: 496
    functionLinenumberEnd: 512
    functionName: tests::lines_span
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - LinesSpan::collect
    - Lines::collect
    - Span::new
    - LinesSpan::lines_span
    - LinesSpan::lines
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn lines_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:517,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 18
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: tests::get_input_of_span
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn get_input_of_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:525,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:525,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:526,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:526,1
    - Dst: merge_spans
      Src: /src/pest/pest/src/span.rs:527,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 523
    functionDepth: 18
    functionLinenumber: 523
    functionLinenumberEnd: 530
    functionName: tests::merge_contiguous
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - merge_spans
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn merge_contiguous()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:535,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:535,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:536,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:536,1
    - Dst: merge_spans
      Src: /src/pest/pest/src/span.rs:537,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 18
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: tests::merge_overlapping
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - merge_spans
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn merge_overlapping()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:545,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:545,1
    - Dst: Span::new
      Src: /src/pest/pest/src/span.rs:546,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/span.rs:546,1
    - Dst: merge_spans
      Src: /src/pest/pest/src/span.rs:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 18
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: tests::merge_non_contiguous
    functionSourceFile: /src/pest/pest/src/span.rs
    functionUses: 0
    functionsReached:
    - merge_spans
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn merge_non_contiguous()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseResult::split
      Src: /src/pest/pest/src/error.rs:98,1
    - Dst: Self::Span
      Src: /src/pest/pest/src/error.rs:99,1
    - Dst: line_col
      Src: /src/pest/pest/src/error.rs:99,1
    - Dst: line_col
      Src: /src/pest/pest/src/error.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - Span<'_>
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 16
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: LineColLocation::from
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Self::Span
    - line_col
    - ParseResult::split
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Span<''_>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_whitespace
      Src: /src/pest/pest/src/error.rs:111,1
    - Dst: clone
      Src: /src/pest/pest/src/error.rs:111,1
    - Dst: is_whitespace
      Src: /src/pest/pest/src/error.rs:112,1
    - Dst: clone
      Src: /src/pest/pest/src/error.rs:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - is_whitespace
    argTypes:
    - '&IsWhitespaceFn'
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: ParsingToken::is_whitespace
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - clone
    - is_whitespace
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_whitespace(&self, is_whitespace: &IsWhitespaceFn) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/pest/pest/src/error.rs:128,1
    - Dst: Vec::is_empty
      Src: /src/pest/pest/src/error.rs:135,1
    - Dst: push_str
      Src: /src/pest/pest/src/error.rs:140,1
    - Dst: Vec::len
      Src: /src/pest/pest/src/error.rs:140,1
    - Dst: Vec::iter
      Src: /src/pest/pest/src/error.rs:146,1
    - Dst: map
      Src: /src/pest/pest/src/error.rs:146,1
    - Dst: is_whitespace
      Src: /src/pest/pest/src/error.rs:149,1
    - Dst: String::from
      Src: /src/pest/pest/src/error.rs:150,1
    - Dst: HashMap::collect
      Src: /src/pest/pest/src/error.rs:146,1
    - Dst: push_str
      Src: /src/pest/pest/src/error.rs:157,1
    - Dst: iter
      Src: /src/pest/pest/src/error.rs:158,1
    - Dst: cloned
      Src: /src/pest/pest/src/error.rs:158,1
    - Dst: "iter()\n                    .cloned()\n                    .collect::<Vec<String>>"
      Src: /src/pest/pest/src/error.rs:158,1
    - Dst: join
      Src: /src/pest/pest/src/error.rs:158,1
    - Dst: Vec::push
      Src: /src/pest/pest/src/error.rs:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - is_whitespace_fn
    - spacing
    argTypes:
    - '&IsWhitespaceFn'
    - '&str'
    constantsTouched: []
    func_position:
      end: 168
      start: 123
    functionDepth: 16
    functionLinenumber: 123
    functionLinenumberEnd: 168
    functionName: ParseAttempts::tokens_helper_messages
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 1
    functionsReached:
    - Vec::iter
    - push_str
    - join
    - "iter()\n                    .cloned()\n                    .collect::<Vec<String>>"
    - String::from
    - Vec::push
    - iter
    - is_whitespace
    - Vec::len
    - Vec::is_empty
    - Vec::new
    - map
    - HashMap::collect
    - cloned
    linkageType: ''
    returnType: Vec
    signature: 'fn tokens_helper_messages(&self,is_whitespace_fn: &IsWhitespaceFn,spacing:
      &str,) -> Vec<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: match_char
      Src: /src/pest/pest/src/error.rs:199,1
    - Dst: match_char
      Src: /src/pest/pest/src/error.rs:199,1
    - Dst: line_of
      Src: /src/pest/pest/src/error.rs:200,1
    - Dst: visualize_whitespace
      Src: /src/pest/pest/src/error.rs:202,1
    - Dst: '&''i str::replace'
      Src: /src/pest/pest/src/error.rs:204,1
    - Dst: InputLocation::Pos
      Src: /src/pest/pest/src/error.rs:208,1
    - Dst: pos
      Src: /src/pest/pest/src/error.rs:208,1
    - Dst: LineColLocation::Pos
      Src: /src/pest/pest/src/error.rs:209,1
    - Dst: line_col
      Src: /src/pest/pest/src/error.rs:209,1
    - Dst: Box::new
      Src: /src/pest/pest/src/error.rs:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - variant
    - pos
    argTypes:
    - ErrorVariant<R>
    - Position<'_>
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 15
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: Error::new_from_pos
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 13
    functionsReached:
    - line_of
    - visualize_whitespace
    - pos
    - LineColLocation::Pos
    - '&''i str::replace'
    - line_col
    - InputLocation::Pos
    - Box::new
    - match_char
    linkageType: ''
    returnType: Error
    signature: 'pub fn new_from_pos(variant: ErrorVariant<R>, pos: Position<''_>)
      -> Error<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new_from_pos
      Src: /src/pest/pest/src/error.rs:226,1
    - Dst: Some
      Src: /src/pest/pest/src/error.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - variant
    - pos
    - parse_attempts
    argTypes:
    - ErrorVariant<R>
    - Position<'_>
    - ParseAttempts<R>
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 16
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: Error::new_from_pos_with_parsing_attempts
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 1
    functionsReached:
    - Some
    - Self::new_from_pos
    linkageType: ''
    returnType: Error
    signature: 'pub(crate) fn new_from_pos_with_parsing_attempts(variant: ErrorVariant<R>,pos:
      Position<''_>,parse_attempts: ParseAttempts<R>,) -> Error<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LinesSpan::end_pos
      Src: /src/pest/pest/src/error.rs:260,1
    - Dst: line_col
      Src: /src/pest/pest/src/error.rs:261,1
    - Dst: position::Position::skip_back
      Src: /src/pest/pest/src/error.rs:265,1
    - Dst: position::Position::line_col
      Src: /src/pest/pest/src/error.rs:266,1
    - Dst: LinesSpan::lines
      Src: /src/pest/pest/src/error.rs:270,1
    - Dst: Lines::next
      Src: /src/pest/pest/src/error.rs:271,1
    - Dst: Option::unwrap_or
      Src: /src/pest/pest/src/error.rs:271,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/pest/src/error.rs:272,1
    - Dst: '&''a str::chars'
      Src: /src/pest/pest/src/error.rs:272,1
    - Dst: visualize_whitespace
      Src: /src/pest/pest/src/error.rs:276,1
    - Dst: to_owned
      Src: /src/pest/pest/src/error.rs:278,1
    - Dst: replace
      Src: /src/pest/pest/src/error.rs:278,1
    - Dst: Lines::last
      Src: /src/pest/pest/src/error.rs:280,1
    - Dst: map
      Src: /src/pest/pest/src/error.rs:282,1
    - Dst: map
      Src: /src/pest/pest/src/error.rs:284,1
    - Dst: InputLocation::Span
      Src: /src/pest/pest/src/error.rs:289,1
    - Dst: LinesSpan::start
      Src: /src/pest/pest/src/error.rs:289,1
    - Dst: pos
      Src: /src/pest/pest/src/error.rs:289,1
    - Dst: LineColLocation::Span
      Src: /src/pest/pest/src/error.rs:290,1
    - Dst: LinesSpan::start_pos
      Src: /src/pest/pest/src/error.rs:290,1
    - Dst: position::Position::line_col
      Src: /src/pest/pest/src/error.rs:290,1
    - Dst: Box::new
      Src: /src/pest/pest/src/error.rs:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 2
    argNames:
    - variant
    - span
    argTypes:
    - ErrorVariant<R>
    - Span<'_>
    constantsTouched: []
    func_position:
      end: 298
      start: 259
    functionDepth: 16
    functionLinenumber: 259
    functionLinenumberEnd: 298
    functionName: Error::new_from_span
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 15
    functionsReached:
    - LinesSpan::end_pos
    - LineColLocation::Span
    - LinesSpan::lines
    - to_owned
    - pos
    - replace
    - LinesSpan::start
    - Option::unwrap_or
    - position::Position::skip_back
    - position::Position::line_col
    - Lines::last
    - visualize_whitespace
    - LinesSpan::start_pos
    - map
    - LinesSpan::as_str
    - '&''a str::chars'
    - Lines::next
    - InputLocation::Span
    - line_col
    - Box::new
    linkageType: ''
    returnType: Error
    signature: 'pub fn new_from_span(variant: ErrorVariant<R>, span: Span<''_>) ->
      Error<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/error.rs:325,1
    - Dst: Error::to_owned
      Src: /src/pest/pest/src/error.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: Error::with_path
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 2
    functionsReached:
    - Error::to_owned
    - Some
    linkageType: ''
    returnType: Error
    signature: 'pub fn with_path(mut self, path: &str) -> Error<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_deref
      Src: /src/pest/pest/src/error.rs:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: Error::path
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - as_deref
    linkageType: ''
    returnType: Option
    signature: pub fn path(&self) -> Option<&str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/pest/pest/src/error.rs:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: Error::line
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - as_str
    linkageType: ''
    returnType: '&str'
    signature: pub fn line(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::parsing_error_message
      Src: /src/pest/pest/src/error.rs:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: Error::renamed_rules
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 1
    functionsReached:
    - Error::parsing_error_message
    linkageType: ''
    returnType: Error
    signature: 'pub fn renamed_rules<F>(mut self, f: F) -> Error<R>whereF: FnMut(&R)
      -> String,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/pest/pest/src/error.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: Error::parse_attempts
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Option
    signature: pub fn parse_attempts(&self) -> Option<ParseAttempts<R>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ParseAttempts::clone'
      Src: /src/pest/pest/src/error.rs:434,1
    - Dst: Error::spacing
      Src: /src/pest/pest/src/error.rs:439,1
    - Dst: Vec::new
      Src: /src/pest/pest/src/error.rs:442,1
    - Dst: Self::push
      Src: /src/pest/pest/src/error.rs:443,1
    - Dst: String::from
      Src: /src/pest/pest/src/error.rs:443,1
    - Dst: '&ParseAttempts::tokens_helper_messages'
      Src: /src/pest/pest/src/error.rs:446,1
    - Dst: Self::push
      Src: /src/pest/pest/src/error.rs:447,1
    - Dst: '&ParseAttempts::call_stacks'
      Src: /src/pest/pest/src/error.rs:450,1
    - Dst: BTreeMap::new
      Src: /src/pest/pest/src/error.rs:454,1
    - Dst: Self::entry
      Src: /src/pest/pest/src/error.rs:456,1
    - Dst: or_default
      Src: /src/pest/pest/src/error.rs:456,1
    - Dst: push
      Src: /src/pest/pest/src/error.rs:456,1
    - Dst: Self::push
      Src: /src/pest/pest/src/error.rs:465,1
    - Dst: get_rule
      Src: /src/pest/pest/src/error.rs:475,1
    - Dst: rule_to_message
      Src: /src/pest/pest/src/error.rs:476,1
    - Dst: Self::push
      Src: /src/pest/pest/src/error.rs:478,1
    - Dst: Self::pop
      Src: /src/pest/pest/src/error.rs:484,1
    - Dst: get_rule
      Src: /src/pest/pest/src/error.rs:491,1
    - Dst: rule_to_message
      Src: /src/pest/pest/src/error.rs:492,1
    - Dst: Self::push
      Src: /src/pest/pest/src/error.rs:494,1
    - Dst: Self::join
      Src: /src/pest/pest/src/error.rs:501,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:503,1
    - Dst: Position::new_internal
      Src: /src/pest/pest/src/error.rs:505,1
    - Dst: Some
      Src: /src/pest/pest/src/error.rs:507,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 84
    argCount: 3
    argNames:
    - input
    - rule_to_message
    - is_whitespace
    argTypes:
    - '&str'
    - '&RuleToMessageFn<R>'
    - '&IsWhitespaceFn'
    constantsTouched: []
    func_position:
      end: 508
      start: 427
    functionDepth: 17
    functionLinenumber: 427
    functionLinenumberEnd: 508
    functionName: Error::parse_attempts_error
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Self::pop
    - Error::spacing
    - Self::entry
    - Error::new_from_pos
    - or_default
    - Some
    - '&ParseAttempts::tokens_helper_messages'
    - Position::new_internal
    - String::from
    - rule_to_message
    - get_rule
    - Self::push
    - '&ParseAttempts::clone'
    - '&ParseAttempts::call_stacks'
    - BTreeMap::new
    - push
    - Vec::new
    - Self::join
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse_attempts_error(&self,input: &str,rule_to_message: &RuleToMessageFn<R>,is_whitespace:
      &IsWhitespaceFn,) -> Option<Error<R>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: Error::start
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: (usize, usize)
    signature: fn start(&self) -> (usize, usize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp::max
      Src: /src/pest/pest/src/error.rs:520,1
    - Dst: len
      Src: /src/pest/pest/src/error.rs:523,1
    - Dst: String::new
      Src: /src/pest/pest/src/error.rs:525,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: Error::spacing
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 2
    functionsReached:
    - cmp::max
    - len
    - String::push
    - String::new
    linkageType: ''
    returnType: String
    signature: fn spacing(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/pest/pest/src/error.rs:534,1
    - Dst: Error::start
      Src: /src/pest/pest/src/error.rs:536,1
    - Dst: mem::swap
      Src: /src/pest/pest/src/error.rs:541,1
    - Dst: Some
      Src: /src/pest/pest/src/error.rs:546,1
    - Dst: chars
      Src: /src/pest/pest/src/error.rs:551,1
    - Dst: take
      Src: /src/pest/pest/src/error.rs:553,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:555,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:556,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:561,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:564,1
    - Dst: String::push
      Src: /src/pest/pest/src/error.rs:566,1
    - Dst: String::push_str
      Src: /src/pest/pest/src/error.rs:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 573
    functionName: Error::underline
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Some
    - String::push
    - chars
    - String::push_str
    - String::new
    - mem::swap
    - take
    - Error::start
    linkageType: ''
    returnType: String
    signature: fn underline(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/pest/pest/src/error.rs:576,1
    - Dst: to_string
      Src: /src/pest/pest/src/error.rs:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: Error::message
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - to_string
    - message
    linkageType: ''
    returnType: String
    signature: fn message(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/pest/src/error.rs:583,1
    - Dst: is_empty
      Src: /src/pest/pest/src/error.rs:583,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - positives
    - negatives
    - f
    argTypes:
    - '&[R]'
    - '&[R]'
    - F
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: Error::parsing_error_message
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 2
    functionsReached:
    - '&str::to_owned'
    - is_empty
    linkageType: ''
    returnType: String
    signature: 'fn parsing_error_message<F>(positives: &[R], negatives: &[R], mut
      f: F) -> StringwhereF: FnMut(&R) -> String,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::len'
      Src: /src/pest/pest/src/error.rs:599,1
    - Dst: f
      Src: /src/pest/pest/src/error.rs:600,1
    - Dst: f
      Src: /src/pest/pest/src/error.rs:603,1
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/pest/src/error.rs:604,1
    - Dst: take
      Src: /src/pest/pest/src/error.rs:604,1
    - Dst: map
      Src: /src/pest/pest/src/error.rs:604,1
    - Dst: "iter()\n                    .take(l - 1)\n                    .map(f)\n\
        \                    .collect::<Vec<_>>"
      Src: /src/pest/pest/src/error.rs:604,1
    - Dst: join
      Src: /src/pest/pest/src/error.rs:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - rules
    - f
    argTypes:
    - '&[R]'
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 613
      start: 595
    functionDepth: 19
    functionLinenumber: 595
    functionLinenumberEnd: 613
    functionName: Error::enumerate
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - join
    - "iter()\n                    .take(l - 1)\n                    .map(f)\n   \
      \                 .collect::<Vec<_>>"
    - '& ''static [Rule]::len'
    - f
    - take
    - map
    - '& ''static [Rule]::iter'
    linkageType: ''
    returnType: String
    signature: 'fn enumerate<F>(rules: &[R], f: &mut F) -> StringwhereF: FnMut(&R)
      -> String,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::spacing
      Src: /src/pest/pest/src/error.rs:616,1
    - Dst: as_ref
      Src: /src/pest/pest/src/error.rs:617,1
    - Dst: map
      Src: /src/pest/pest/src/error.rs:617,1
    - Dst: unwrap_or_default
      Src: /src/pest/pest/src/error.rs:617,1
    - Dst: clone
      Src: /src/pest/pest/src/error.rs:624,1
    - Dst: Error::start
      Src: /src/pest/pest/src/error.rs:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 615
    functionDepth: 17
    functionLinenumber: 615
    functionLinenumberEnd: 686
    functionName: Error::format
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::spacing
    - as_ref
    - clone
    - unwrap_or_default
    - map
    - Error::start
    linkageType: ''
    returnType: String
    signature: pub(crate) fn format(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miette_adapter::MietteAdapter
      Src: /src/pest/pest/src/error.rs:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: Error::into_miette
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - miette_adapter::MietteAdapter
    linkageType: ''
    returnType: impl ::miette::Diagnostic
    signature: pub fn into_miette(self) -> impl ::miette::Diagnostic
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cow::Owned
      Src: /src/pest/pest/src/error.rs:723,1
    - Dst: Error::parsing_error_message
      Src: /src/pest/pest/src/error.rs:723,1
    - Dst: Cow::Borrowed
      Src: /src/pest/pest/src/error.rs:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 728
    functionName: ErrorVariant::message
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Cow::Borrowed
    - Error::parsing_error_message
    - Cow::Owned
    linkageType: ''
    returnType: Cow
    signature: pub fn message(&self) -> Cow<'_, str>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: Error::fmt
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: ErrorVariant::fmt
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_owned
      Src: /src/pest/pest/src/error.rs:747,1
    - Dst: replace
      Src: /src/pest/pest/src/error.rs:747,1
    - Dst: replace
      Src: /src/pest/pest/src/error.rs:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: visualize_whitespace
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 2
    functionsReached:
    - replace
    - to_owned
    linkageType: ''
    returnType: String
    signature: 'fn visualize_whitespace(input: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:812,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:812,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 810
    functionDepth: 18
    functionLinenumber: 810
    functionLinenumberEnd: 833
    functionName: tests::display_parsing_error_mixed
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn display_parsing_error_mixed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:838,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:838,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 836
    functionDepth: 18
    functionLinenumber: 836
    functionLinenumberEnd: 859
    functionName: tests::display_parsing_error_positives
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn display_parsing_error_positives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:864,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:864,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 862
    functionDepth: 18
    functionLinenumber: 862
    functionLinenumberEnd: 885
    functionName: tests::display_parsing_error_negatives
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn display_parsing_error_negatives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:890,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:890,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 888
    functionDepth: 18
    functionLinenumber: 888
    functionLinenumberEnd: 911
    functionName: tests::display_parsing_error_unknown
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn display_parsing_error_unknown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:916,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:916,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:917,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 914
    functionDepth: 18
    functionLinenumber: 914
    functionLinenumberEnd: 936
    functionName: tests::display_custom_pos
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::new_from_pos
    - '&str::to_owned'
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn display_custom_pos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:941,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:941,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:942,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:942,1
    - Dst: Error::new_from_span
      Src: /src/pest/pest/src/error.rs:943,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:945,1
    - Dst: span
      Src: /src/pest/pest/src/error.rs:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 939
    functionDepth: 18
    functionLinenumber: 939
    functionLinenumberEnd: 963
    functionName: tests::display_custom_span_two_lines
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - span
    - Position::new
    - '&str::to_owned'
    - Option::unwrap
    - Error::new_from_span
    linkageType: ''
    returnType: void
    signature: fn display_custom_span_two_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:968,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:968,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:969,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:969,1
    - Dst: Error::new_from_span
      Src: /src/pest/pest/src/error.rs:970,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:972,1
    - Dst: span
      Src: /src/pest/pest/src/error.rs:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 18
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: tests::display_custom_span_three_lines
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - span
    - Position::new
    - '&str::to_owned'
    - Option::unwrap
    - Error::new_from_span
    linkageType: ''
    returnType: void
    signature: fn display_custom_span_three_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:996,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:996,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:997,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:997,1
    - Dst: Error::new_from_span
      Src: /src/pest/pest/src/error.rs:998,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:1000,1
    - Dst: span
      Src: /src/pest/pest/src/error.rs:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 994
    functionDepth: 18
    functionLinenumber: 994
    functionLinenumberEnd: 1018
    functionName: tests::display_custom_span_two_lines_inverted_cols
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - span
    - Position::new
    - '&str::to_owned'
    - Option::unwrap
    - Error::new_from_span
    linkageType: ''
    returnType: void
    signature: fn display_custom_span_two_lines_inverted_cols()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1023,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1023,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1024,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1024,1
    - Dst: Error::new_from_span
      Src: /src/pest/pest/src/error.rs:1028,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:1030,1
    - Dst: span
      Src: /src/pest/pest/src/error.rs:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1021
    functionDepth: 18
    functionLinenumber: 1021
    functionLinenumberEnd: 1047
    functionName: tests::display_custom_span_end_after_newline
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - span
    - Position::new
    - '&str::to_owned'
    - Option::unwrap
    - Error::new_from_span
    linkageType: ''
    returnType: void
    signature: fn display_custom_span_end_after_newline()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1052,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1052,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1053,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1053,1
    - Dst: Error::new_from_span
      Src: /src/pest/pest/src/error.rs:1057,1
    - Dst: '&str::to_owned'
      Src: /src/pest/pest/src/error.rs:1059,1
    - Dst: span
      Src: /src/pest/pest/src/error.rs:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1050
    functionDepth: 18
    functionLinenumber: 1050
    functionLinenumberEnd: 1076
    functionName: tests::display_custom_span_empty
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - span
    - Position::new
    - '&str::to_owned'
    - Option::unwrap
    - Error::new_from_span
    linkageType: ''
    returnType: void
    signature: fn display_custom_span_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1081,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1081,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:1082,1
    - Dst: Error::renamed_rules
      Src: /src/pest/pest/src/error.rs:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1079
    functionDepth: 18
    functionLinenumber: 1079
    functionLinenumberEnd: 1103
    functionName: tests::mapped_parsing_error
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::renamed_rules
    - Position::new
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn mapped_parsing_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1108,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1108,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:1109,1
    - Dst: Error::with_path
      Src: /src/pest/pest/src/error.rs:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 18
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tests::error_with_path
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::with_path
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn error_with_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1135,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1135,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:1136,1
    - Dst: Error::with_path
      Src: /src/pest/pest/src/error.rs:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1133
    functionDepth: 18
    functionLinenumber: 1133
    functionLinenumberEnd: 1157
    functionName: tests::underline_with_tabs
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Error::with_path
    - Error::new_from_pos
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn underline_with_tabs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1163,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1160
    functionDepth: 18
    functionLinenumber: 1160
    functionLinenumberEnd: 1166
    functionName: tests::pos_to_lcl_conversion
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn pos_to_lcl_conversion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span::new
      Src: /src/pest/pest/src/error.rs:1172,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1172,1
    - Dst: LinesSpan::split
      Src: /src/pest/pest/src/error.rs:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 18
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    functionName: tests::span_to_lcl_conversion
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - LinesSpan::split
    - Span::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn span_to_lcl_conversion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var_os
      Src: /src/pest/pest/src/error.rs:1185,1
    - Dst: std::env::set_var
      Src: /src/pest/pest/src/error.rs:1186,1
    - Dst: Position::new
      Src: /src/pest/pest/src/error.rs:1189,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/error.rs:1189,1
    - Dst: Error::new_from_pos
      Src: /src/pest/pest/src/error.rs:1190,1
    - Dst: miette::Error::new
      Src: /src/pest/pest/src/error.rs:1198,1
    - Dst: Option::into_miette
      Src: /src/pest/pest/src/error.rs:1198,1
    - Dst: std::env::set_var
      Src: /src/pest/pest/src/error.rs:1216,1
    - Dst: std::env::remove_var
      Src: /src/pest/pest/src/error.rs:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1183
    functionDepth: 18
    functionLinenumber: 1183
    functionLinenumberEnd: 1220
    functionName: tests::miette_error
    functionSourceFile: /src/pest/pest/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::new_from_pos
    - Position::new
    - std::env::remove_var
    - std::env::set_var
    - std::env::var_os
    - Option::into_miette
    - Option::unwrap
    - miette::Error::new
    linkageType: ''
    returnType: void
    signature: fn miette_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/pest/pest/src/stack.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Stack::default
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Stack::new
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/pest/src/stack.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Stack::is_empty
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: last
      Src: /src/pest/pest/src/stack.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Stack::peek
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - last
    linkageType: ''
    returnType: Option
    signature: pub fn peek(&self) -> Option<&T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Stack::push
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn push(&mut self, elem: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:77,1
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:78,1
    - Dst: last_mut
      Src: /src/pest/pest/src/stack.rs:80,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:84,1
    - Dst: clone
      Src: /src/pest/pest/src/stack.rs:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 14
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: Stack::pop
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - last_mut
    - len
    - pop
    - push
    - clone
    linkageType: ''
    returnType: Option
    signature: pub fn pop(&mut self) -> Option<T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Stack::len
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:98,1
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:98,1
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Stack::snapshot
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - len
    - push
    linkageType: ''
    returnType: void
    signature: pub fn snapshot(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:103,1
    - Dst: truncate
      Src: /src/pest/pest/src/stack.rs:105,1
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 15
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: Stack::clear_snapshot
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - len
    - pop
    - truncate
    linkageType: ''
    returnType: void
    signature: pub fn clear_snapshot(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:112,1
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:114,1
    - Dst: truncate
      Src: /src/pest/pest/src/stack.rs:116,1
    - Dst: len
      Src: /src/pest/pest/src/stack.rs:120,1
    - Dst: drain
      Src: /src/pest/pest/src/stack.rs:121,1
    - Dst: extend
      Src: /src/pest/pest/src/stack.rs:122,1
    - Dst: rev
      Src: /src/pest/pest/src/stack.rs:122,1
    - Dst: clear
      Src: /src/pest/pest/src/stack.rs:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 15
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: Stack::restore
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - rev
    - drain
    - extend
    - len
    - pop
    - clear
    - truncate
    linkageType: ''
    returnType: void
    signature: pub fn restore(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/pest/pest/src/stack.rs:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - range
    argTypes:
    - Range<usize>
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Stack::index
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: '&[T]'
    signature: 'fn index(&self, range: Range<usize>) -> &[T]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:151,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:153,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:157,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: test::snapshot_with_empty
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - push
    - snapshot
    - Stack::new
    linkageType: ''
    returnType: void
    signature: fn snapshot_with_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:164,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:166,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:168,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:169,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:170,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: test::snapshot_twice
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - push
    - snapshot
    - Stack::new
    linkageType: ''
    returnType: void
    signature: fn snapshot_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:177,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:179,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: test::restore_without_snapshot
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - push
    - Stack::new
    linkageType: ''
    returnType: void
    signature: fn restore_without_snapshot()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:187,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:189,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:190,1
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:191,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 14
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: test::snapshot_pop_restore
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - Stack::new
    - pop
    - push
    - snapshot
    linkageType: ''
    returnType: void
    signature: fn snapshot_pop_restore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:199,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:201,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:202,1
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:203,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:204,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 14
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: test::snapshot_pop_push_restore
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - Stack::new
    - pop
    - push
    - snapshot
    linkageType: ''
    returnType: void
    signature: fn snapshot_pop_push_restore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:212,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:214,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:215,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:216,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:217,1
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:218,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 14
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: test::snapshot_push_pop_restore
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - Stack::new
    - pop
    - push
    - snapshot
    linkageType: ''
    returnType: void
    signature: fn snapshot_push_pop_restore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:226,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:228,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:229,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:230,1
    - Dst: clear_snapshot
      Src: /src/pest/pest/src/stack.rs:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 13
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: test::snapshot_push_clear
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - clear_snapshot
    - push
    - snapshot
    - Stack::new
    linkageType: ''
    returnType: void
    signature: fn snapshot_push_clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:238,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:240,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:241,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:242,1
    - Dst: pop
      Src: /src/pest/pest/src/stack.rs:243,1
    - Dst: clear_snapshot
      Src: /src/pest/pest/src/stack.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 14
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: test::snapshot_pop_clear
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - clear_snapshot
    - Stack::new
    - pop
    - push
    - snapshot
    linkageType: ''
    returnType: void
    signature: fn snapshot_pop_clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::new
      Src: /src/pest/pest/src/stack.rs:251,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:259,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:264,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:274,1
    - Dst: push
      Src: /src/pest/pest/src/stack.rs:279,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:285,1
    - Dst: snapshot
      Src: /src/pest/pest/src/stack.rs:294,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:307,1
    - Dst: restore
      Src: /src/pest/pest/src/stack.rs:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 319
    functionName: test::stack_ops
    functionSourceFile: /src/pest/pest/src/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - push
    - snapshot
    - Stack::new
    linkageType: ''
    returnType: void
    signature: fn stack_ops()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Position::new_internal
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: 'pub(crate) fn new_internal(input: &str, pos: usize) -> Position<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pest/pest/src/position.rs:46,1
    - Dst: map
      Src: /src/pest/pest/src/position.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 17
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Position::new
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 18
    functionsReached:
    - map
    - get
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(input: &str, pos: usize) -> Option<Position<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&''i str'
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Position::from_start
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: 'pub fn from_start(input: &''i str) -> Position<''i>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Position::pos
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn pos(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr::eq
      Src: /src/pest/pest/src/position.rs:99,1
    - Dst: span::Span::new_internal
      Src: /src/pest/pest/src/position.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Position<''i>'
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: Position::span
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - ptr::eq
    - span::Span::new_internal
    linkageType: ''
    returnType: span::Span
    signature: 'pub fn span(&self, other: &Position<''i>) -> span::Span<''i>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/position.rs:134,1
    - Dst: chars
      Src: /src/pest/pest/src/position.rs:139,1
    - Dst: peekable
      Src: /src/pest/pest/src/position.rs:139,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:144,1
    - Dst: peek
      Src: /src/pest/pest/src/position.rs:146,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:147,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/position.rs:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 133
    functionDepth: 15
    functionLinenumber: 133
    functionLinenumberEnd: 174
    functionName: Position::line_col
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 2
    functionsReached:
    - chars
    - next
    - peek
    - len_utf8
    - len
    - peekable
    linkageType: ''
    returnType: (usize, usize)
    signature: pub fn line_col(&self) -> (usize, usize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/position.rs:194,1
    - Dst: Position::find_line_start
      Src: /src/pest/pest/src/position.rs:198,1
    - Dst: Position::find_line_end
      Src: /src/pest/pest/src/position.rs:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: Position::line_of
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - Position::find_line_start
    - len
    - Position::find_line_end
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn line_of(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:202,1
    - Dst: char_indices
      Src: /src/pest/pest/src/position.rs:206,1
    - Dst: rev
      Src: /src/pest/pest/src/position.rs:206,1
    - Dst: skip_while
      Src: /src/pest/pest/src/position.rs:206,1
    - Dst: find
      Src: /src/pest/pest/src/position.rs:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: Position::find_line_start
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - rev
    - char_indices
    - find
    - skip_while
    - is_empty
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn find_line_start(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:219,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:221,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:222,1
    - Dst: char_indices
      Src: /src/pest/pest/src/position.rs:225,1
    - Dst: skip_while
      Src: /src/pest/pest/src/position.rs:225,1
    - Dst: find
      Src: /src/pest/pest/src/position.rs:225,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: Position::find_line_end
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - char_indices
    - find
    - skip_while
    - len
    - is_empty
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn find_line_end(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Position::at_start
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn at_start(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/position.rs:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Position::at_end
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn at_end(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/pest/src/position.rs:256,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:258,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/position.rs:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 16
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: Position::skip
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - chars
    - next
    - len_utf8
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn skip(&mut self, n: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/pest/src/position.rs:278,1
    - Dst: rev
      Src: /src/pest/pest/src/position.rs:278,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:280,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/position.rs:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 16
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: Position::skip_back
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - chars
    - rev
    - next
    - len_utf8
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn skip_back(&mut self, n: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::skip_until_basic
      Src: /src/pest/pest/src/position.rs:299,1
    - Dst: memchr::memmem::find
      Src: /src/pest/pest/src/position.rs:307,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:307,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:307,1
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:313,1
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:313,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:314,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:315,1
    - Dst: memchr::memchr2_iter
      Src: /src/pest/pest/src/position.rs:316,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:316,1
    - Dst: starts_with
      Src: /src/pest/pest/src/position.rs:319,1
    - Dst: starts_with
      Src: /src/pest/pest/src/position.rs:319,1
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:325,1
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:325,1
    - Dst: is_empty
      Src: /src/pest/pest/src/position.rs:325,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:326,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:327,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:328,1
    - Dst: memchr::memchr3_iter
      Src: /src/pest/pest/src/position.rs:330,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:330,1
    - Dst: starts_with
      Src: /src/pest/pest/src/position.rs:333,1
    - Dst: starts_with
      Src: /src/pest/pest/src/position.rs:333,1
    - Dst: starts_with
      Src: /src/pest/pest/src/position.rs:333,1
    - Dst: Position::skip_until_basic
      Src: /src/pest/pest/src/position.rs:340,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 122
    argCount: 1
    argNames:
    - strings
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 346
      start: 296
    functionDepth: 18
    functionLinenumber: 296
    functionLinenumberEnd: 346
    functionName: Position::skip_until
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - starts_with
    - memchr::memchr3_iter
    - memchr::memmem::find
    - Position::skip_until_basic
    - as_bytes
    - len
    - is_empty
    - memchr::memchr2_iter
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn skip_until(&mut self, strings: &[&str]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/position.rs:351,1
    - Dst: get
      Src: /src/pest/pest/src/position.rs:352,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:353,1
    - Dst: iter
      Src: /src/pest/pest/src/position.rs:358,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:359,1
    - Dst: Some
      Src: /src/pest/pest/src/position.rs:360,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:360,1
    - Dst: get
      Src: /src/pest/pest/src/position.rs:360,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - strings
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 369
      start: 349
    functionDepth: 17
    functionLinenumber: 349
    functionLinenumberEnd: 369
    functionName: Position::skip_until_basic
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - Some
    - get
    - as_bytes
    - iter
    - len
    linkageType: ''
    returnType: bool
    signature: 'fn skip_until_basic(&mut self, strings: &[&str]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Position::match_char
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn match_char(&self, c: char) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/pest/src/position.rs:386,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:386,1
    - Dst: f
      Src: /src/pest/pest/src/position.rs:387,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/position.rs:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 16
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: Position::match_char_by
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - chars
    - next
    - f
    - len_utf8
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn match_char_by<F>(&mut self, f: F) -> boolwhereF: FnOnce(char)
      -> bool,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/pest/src/position.rs:402,1
    - Dst: Some
      Src: /src/pest/pest/src/position.rs:404,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:404,1
    - Dst: as_bytes
      Src: /src/pest/pest/src/position.rs:404,1
    - Dst: get
      Src: /src/pest/pest/src/position.rs:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 17
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: Position::match_string
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 2
    functionsReached:
    - len
    - Some
    - get
    - as_bytes
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn match_string(&mut self, string: &str) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pest/pest/src/position.rs:418,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:418,1
    - Dst: eq_ignore_ascii_case
      Src: /src/pest/pest/src/position.rs:419,1
    - Dst: len
      Src: /src/pest/pest/src/position.rs:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 431
      start: 415
    functionDepth: 17
    functionLinenumber: 415
    functionLinenumberEnd: 431
    functionName: Position::match_insensitive
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - len
    - get
    - eq_ignore_ascii_case
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn match_insensitive(&mut self, string: &str) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/pest/src/position.rs:437,1
    - Dst: next
      Src: /src/pest/pest/src/position.rs:437,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/position.rs:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - range
    argTypes:
    - Range<char>
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 16
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: Position::match_range
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - chars
    - next
    - len_utf8
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn match_range(&mut self, range: Range<char>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/pest/pest/src/position.rs:450,1
    - Dst: field
      Src: /src/pest/pest/src/position.rs:450,1
    - Dst: finish
      Src: /src/pest/pest/src/position.rs:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Position::fmt
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr::eq
      Src: /src/pest/pest/src/position.rs:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Position<''i>'
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: Position::eq
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - ptr::eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Position<''i>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr::eq
      Src: /src/pest/pest/src/position.rs:465,1
    - Dst: partial_cmp
      Src: /src/pest/pest/src/position.rs:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Position<''i>'
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: Position::partial_cmp
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - ptr::eq
    - partial_cmp
    linkageType: ''
    returnType: Option
    signature: 'fn partial_cmp(&self, other: &Position<''i>) -> Option<Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::partial_cmp
      Src: /src/pest/pest/src/position.rs:475,1
    - Dst: Option::expect
      Src: /src/pest/pest/src/position.rs:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Position<''i>'
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: Position::cmp
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 1
    functionsReached:
    - Position::partial_cmp
    - Option::expect
    linkageType: ''
    returnType: Ordering
    signature: 'fn cmp(&self, other: &Position<''i>) -> Ordering'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/pest/pest/src/position.rs:482,1
    - Dst: hash
      Src: /src/pest/pest/src/position.rs:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: Position::hash
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: void
    signature: 'fn hash<H: Hasher>(&self, state: &mut H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: tests::parts
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn parts()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: tests::line_col
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn line_col()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 538
    functionName: tests::line_of
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn line_of()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: tests::line_of_empty
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn line_of_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: tests::line_of_new_line
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn line_of_new_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: tests::line_of_between_new_line
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn line_of_between_new_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/pest/src/position.rs:562,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/position.rs:562,1
    - Dst: skip
      Src: /src/pest/pest/src/position.rs:563,1
    - Dst: Some
      Src: /src/pest/pest/src/position.rs:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - input
    - pos
    - n
    argTypes:
    - '&str'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 18
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: tests::measure_skip
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - skip
    - Some
    - Option::unwrap
    linkageType: ''
    returnType: Option
    signature: 'fn measure_skip(input: &str, pos: usize, n: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: tests::skip_empty
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn skip_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::from_start
      Src: /src/pest/pest/src/position.rs:590,1
    - Dst: Position::skip_until
      Src: /src/pest/pest/src/position.rs:593,1
    - Dst: Position::skip_until
      Src: /src/pest/pest/src/position.rs:597,1
    - Dst: Position::skip_until
      Src: /src/pest/pest/src/position.rs:601,1
    - Dst: Position::skip_until
      Src: /src/pest/pest/src/position.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 588
    functionDepth: 19
    functionLinenumber: 588
    functionLinenumberEnd: 611
    functionName: tests::skip_until
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - Position::skip_until
    - Position::from_start
    linkageType: ''
    returnType: void
    signature: fn skip_until()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: tests::match_range
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn match_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: tests::match_insensitive
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn match_insensitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::from_start
      Src: /src/pest/pest/src/position.rs:635,1
    - Dst: cmp
      Src: /src/pest/pest/src/position.rs:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: tests::cmp
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - cmp
    - Position::from_start
    linkageType: ''
    returnType: void
    signature: fn cmp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::from_start
      Src: /src/pest/pest/src/position.rs:649,1
    - Dst: Position::from_start
      Src: /src/pest/pest/src/position.rs:650,1
    - Dst: Position::cmp
      Src: /src/pest/pest/src/position.rs:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: tests::cmp_panic
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - Position::cmp
    - Position::from_start
    linkageType: ''
    returnType: void
    signature: fn cmp_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::from_start
      Src: /src/pest/pest/src/position.rs:661,1
    - Dst: HashSet::new
      Src: /src/pest/pest/src/position.rs:662,1
    - Dst: Self::insert
      Src: /src/pest/pest/src/position.rs:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 4
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: tests::hash
    functionSourceFile: /src/pest/pest/src/position.rs
    functionUses: 0
    functionsReached:
    - HashSet::new
    - Self::insert
    - Position::from_start
    linkageType: ''
    returnType: void
    signature: fn hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rule
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Op::prefix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn prefix(rule: R) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rule
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Op::postfix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn postfix(rule: R) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Affix::Infix
      Src: /src/pest/pest/src/pratt_parser.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rule
    - assoc
    argTypes:
    - R
    - Assoc
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Op::infix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 2
    functionsReached:
    - Affix::Infix
    linkageType: ''
    returnType: Self
    signature: 'pub fn infix(rule: R, assoc: Assoc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign_next
      Src: /src/pest/pest/src/pratt_parser.rs:85,1
    - Dst: Some
      Src: /src/pest/pest/src/pratt_parser.rs:87,1
    - Dst: Box::new
      Src: /src/pest/pest/src/pratt_parser.rs:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - op
    - next
    argTypes:
    - '&mut Op<R>'
    - Op<R>
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: O::p::::::::b::i::t::o::r::assign_next
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - assign_next
    - Some
    - Box::new
    linkageType: ''
    returnType: void
    signature: 'fn assign_next<R: RuleType>(op: &mut Op<R>, next: Op<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign_next
      Src: /src/pest/pest/src/pratt_parser.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: Op::bitor
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - assign_next
    linkageType: ''
    returnType: Self
    signature: 'fn bitor(mut self, rhs: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/pest/pest/src/pratt_parser.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: PrattParser::default
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BTreeMap::new
      Src: /src/pest/pest/src/pratt_parser.rs:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: PrattParser::new
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 2
    functionsReached:
    - BTreeMap::new
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/pratt_parser.rs:224,1
    - Dst: take
      Src: /src/pest/pest/src/pratt_parser.rs:225,1
    - Dst: insert
      Src: /src/pest/pest/src/pratt_parser.rs:231,1
    - Dst: Option::map
      Src: /src/pest/pest/src/pratt_parser.rs:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - op
    argTypes:
    - Op<R>
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 17
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: PrattParser::op
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - Some
    - insert
    - take
    - Option::map
    linkageType: ''
    returnType: Self
    signature: 'pub fn op(mut self, op: Op<R>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - primary
    argTypes:
    - X
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: PrattParser::map_primary
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrattParserMap
    signature: 'pub fn map_primary<''pratt, ''a, ''i, X, T>(&''pratt self,primary:
      X,) -> PrattParserMap<''pratt, ''a, ''i, R, X, T>whereX: FnMut(Pair<''i, R>)
      -> T,R: ''pratt,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/pratt_parser.rs:289,1
    - Dst: Box::new
      Src: /src/pest/pest/src/pratt_parser.rs:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - X
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: PrattParserMap::map_prefix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 2
    functionsReached:
    - Some
    - Box::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn map_prefix<X>(mut self, prefix: X) -> SelfwhereX: FnMut(Pair<''i,
      R>, T) -> T + ''a,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/pratt_parser.rs:298,1
    - Dst: Box::new
      Src: /src/pest/pest/src/pratt_parser.rs:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - postfix
    argTypes:
    - X
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: PrattParserMap::map_postfix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn map_postfix<X>(mut self, postfix: X) -> SelfwhereX: FnMut(T,
      Pair<''i, R>) -> T + ''a,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/pratt_parser.rs:307,1
    - Dst: Box::new
      Src: /src/pest/pest/src/pratt_parser.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - infix
    argTypes:
    - X
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: PrattParserMap::map_infix
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn map_infix<X>(mut self, infix: X) -> SelfwhereX: FnMut(T, Pair<''i,
      R>, T) -> T + ''a,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrattParserMap::expr
      Src: /src/pest/pest/src/pratt_parser.rs:326,1
    - Dst: Result::peekable
      Src: /src/pest/pest/src/pratt_parser.rs:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - P
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 18
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: PrattParserMap::parse
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 0
    functionsReached:
    - PrattParserMap::expr
    - Result::peekable
    linkageType: ''
    returnType: T
    signature: 'pub fn parse<P: Iterator<Item = Pair<''i, R>>>(&mut self, pairs: P)
      -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrattParserMap::nud
      Src: /src/pest/pest/src/pratt_parser.rs:330,1
    - Dst: PrattParserMap::lbp
      Src: /src/pest/pest/src/pratt_parser.rs:331,1
    - Dst: PrattParserMap::led
      Src: /src/pest/pest/src/pratt_parser.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pairs
    - rbp
    argTypes:
    - '&mut Peekable<P>'
    - Prec
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 17
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: PrattParserMap::expr
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 3
    functionsReached:
    - PrattParserMap::led
    - PrattParserMap::nud
    - PrattParserMap::lbp
    linkageType: ''
    returnType: T
    signature: 'fn expr<P: Iterator<Item = Pair<''i, R>>>(&mut self, pairs: &mut Peekable<P>,
      rbp: Prec) -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::next
      Src: /src/pest/pest/src/pratt_parser.rs:342,1
    - Dst: Option::expect
      Src: /src/pest/pest/src/pratt_parser.rs:342,1
    - Dst: get
      Src: /src/pest/pest/src/pratt_parser.rs:343,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/pest/src/pratt_parser.rs:343,1
    - Dst: PrattParserMap::expr
      Src: /src/pest/pest/src/pratt_parser.rs:345,1
    - Dst: as_mut
      Src: /src/pest/pest/src/pratt_parser.rs:346,1
    - Dst: prefix
      Src: /src/pest/pest/src/pratt_parser.rs:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - '&mut Peekable<P>'
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 16
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: PrattParserMap::nud
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 1
    functionsReached:
    - get
    - as_mut
    - Option::expect
    - PrattParserMap::expr
    - Result::next
    - ParseResult::as_rule
    - prefix
    linkageType: ''
    returnType: T
    signature: 'fn nud<P: Iterator<Item = Pair<''i, R>>>(&mut self, pairs: &mut Peekable<P>)
      -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::next
      Src: /src/pest/pest/src/pratt_parser.rs:361,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/pratt_parser.rs:361,1
    - Dst: get
      Src: /src/pest/pest/src/pratt_parser.rs:362,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/pest/src/pratt_parser.rs:362,1
    - Dst: PrattParserMap::expr
      Src: /src/pest/pest/src/pratt_parser.rs:365,1
    - Dst: PrattParserMap::expr
      Src: /src/pest/pest/src/pratt_parser.rs:366,1
    - Dst: as_mut
      Src: /src/pest/pest/src/pratt_parser.rs:368,1
    - Dst: infix
      Src: /src/pest/pest/src/pratt_parser.rs:369,1
    - Dst: as_mut
      Src: /src/pest/pest/src/pratt_parser.rs:373,1
    - Dst: postfix
      Src: /src/pest/pest/src/pratt_parser.rs:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - pairs
    - lhs
    argTypes:
    - '&mut Peekable<P>'
    - T
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 16
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: PrattParserMap::led
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 1
    functionsReached:
    - postfix
    - get
    - as_mut
    - infix
    - PrattParserMap::expr
    - Result::next
    - ParseResult::as_rule
    - Option::unwrap
    linkageType: ''
    returnType: T
    signature: 'fn led<P: Iterator<Item = Pair<''i, R>>>(&mut self, pairs: &mut Peekable<P>,
      lhs: T) -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::peek
      Src: /src/pest/pest/src/pratt_parser.rs:385,1
    - Dst: get
      Src: /src/pest/pest/src/pratt_parser.rs:386,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/pest/src/pratt_parser.rs:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - '&mut Peekable<P>'
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 16
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: PrattParserMap::lbp
    functionSourceFile: /src/pest/pest/src/pratt_parser.rs
    functionUses: 1
    functionsReached:
    - ParseResult::as_rule
    - get
    - Result::peek
    linkageType: ''
    returnType: Prec
    signature: 'fn lbp<P: Iterator<Item = Pair<''i, R>>>(&mut self, pairs: &mut Peekable<P>)
      -> Prec'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains_char
      Src: /src/pest/pest/src/unicode/mod.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 25
    functionName: property_functions
    functionSourceFile: /src/pest/pest/src/unicode/mod.rs
    functionUses: 1
    functionsReached:
    - contains_char
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: property_functions
      Src: /src/pest/pest/src/unicode/mod.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: char_property_functions
    functionSourceFile: /src/pest/pest/src/unicode/mod.rs
    functionUses: 0
    functionsReached:
    - property_functions
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/pest/pest/src/unicode/mod.rs:269,1
    - Dst: iter
      Src: /src/pest/pest/src/unicode/mod.rs:270,1
    - Dst: map
      Src: /src/pest/pest/src/unicode/mod.rs:270,1
    - Dst: chain
      Src: /src/pest/pest/src/unicode/mod.rs:270,1
    - Dst: iter
      Src: /src/pest/pest/src/unicode/mod.rs:273,1
    - Dst: map
      Src: /src/pest/pest/src/unicode/mod.rs:273,1
    - Dst: chain
      Src: /src/pest/pest/src/unicode/mod.rs:270,1
    - Dst: iter
      Src: /src/pest/pest/src/unicode/mod.rs:274,1
    - Dst: map
      Src: /src/pest/pest/src/unicode/mod.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 16
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: unicode_property_names
    functionSourceFile: /src/pest/pest/src/unicode/mod.rs
    functionUses: 1
    functionsReached:
    - map
    - iter
    - chain
    - Box::new
    linkageType: ''
    returnType: Box
    signature: pub fn unicode_property_names() -> Box<dyn Iterator<Item = &'static
      str>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_uppercase
      Src: /src/pest/pest/src/unicode/mod.rs:280,1
    - Dst: Some
      Src: /src/pest/pest/src/unicode/mod.rs:281,1
    - Dst: Box::new
      Src: /src/pest/pest/src/unicode/mod.rs:281,1
    - Dst: contains_char
      Src: /src/pest/pest/src/unicode/mod.rs:281,1
    - Dst: to_uppercase
      Src: /src/pest/pest/src/unicode/mod.rs:286,1
    - Dst: Some
      Src: /src/pest/pest/src/unicode/mod.rs:287,1
    - Dst: Box::new
      Src: /src/pest/pest/src/unicode/mod.rs:287,1
    - Dst: contains_char
      Src: /src/pest/pest/src/unicode/mod.rs:287,1
    - Dst: to_uppercase
      Src: /src/pest/pest/src/unicode/mod.rs:292,1
    - Dst: Some
      Src: /src/pest/pest/src/unicode/mod.rs:293,1
    - Dst: Box::new
      Src: /src/pest/pest/src/unicode/mod.rs:293,1
    - Dst: contains_char
      Src: /src/pest/pest/src/unicode/mod.rs:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: by_name
    functionSourceFile: /src/pest/pest/src/unicode/mod.rs
    functionUses: 1
    functionsReached:
    - contains_char
    - Some
    - to_uppercase
    - Box::new
    linkageType: ''
    returnType: Option
    signature: 'pub fn by_name(name: &str) -> Option<Box<dyn Fn(char) -> bool>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - queue
    - input
    - line_index
    - start
    argTypes:
    - Rc<Vec<QueueableToken<'i, R>>>
    - '&''i str'
    - Rc<LineIndex>
    - usize
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: new
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 150
    functionsReached: []
    linkageType: ''
    returnType: Pair
    signature: 'pub fn new<''i, R: RuleType>(queue: Rc<Vec<QueueableToken<''i, R>>>,input:
      &''i str,line_index: Rc<LineIndex>,start: usize,) -> Pair<''i, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::pos
      Src: /src/pest/pest/src/iterators/pairs.rs:118,1
    - Dst: Pairs::pos
      Src: /src/pest/pest/src/iterators/pairs.rs:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: Pairs::as_str
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 1
    functionsReached:
    - Pairs::pos
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn as_str(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Pairs::get_input
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn get_input(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:187,1
    - Dst: FlatPairs::fold
      Src: /src/pest/pest/src/iterators/pairs.rs:187,1
    - Dst: String::new
      Src: /src/pest/pest/src/iterators/pairs.rs:188,1
    - Dst: ParseResult::as_str
      Src: /src/pest/pest/src/iterators/pairs.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: Pairs::concat
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - FlatPairs::fold
    - String::new
    - ParseResult::as_str
    - Pairs::clone
    linkageType: ''
    returnType: String
    signature: pub fn concat(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flat_pairs::new
      Src: /src/pest/pest/src/iterators/pairs.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: Pairs::flatten
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 4
    functionsReached:
    - flat_pairs::new
    linkageType: ''
    returnType: FlatPairs
    signature: pub fn flatten(self) -> FlatPairs<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:275,1
    - Dst: FlatPairs::find_tagged
      Src: /src/pest/pest/src/iterators/pairs.rs:275,1
    - Dst: Filter::next
      Src: /src/pest/pest/src/iterators/pairs.rs:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tag
    argTypes:
    - '&''i str'
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 16
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Pairs::find_first_tagged
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - Filter::next
    - FlatPairs::find_tagged
    - Pairs::clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn find_first_tagged(&self, tag: &''i str) -> Option<Pair<''i,
      R>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::flatten
      Src: /src/pest/pest/src/iterators/pairs.rs:331,1
    - Dst: FlatPairs::filter
      Src: /src/pest/pest/src/iterators/pairs.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tag
    argTypes:
    - '&''i str'
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: Pairs::find_tagged
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 2
    functionsReached:
    - FlatPairs::filter
    - Pairs::flatten
    linkageType: ''
    returnType: Filter
    signature: 'pub fn find_tagged(self,tag: &''i str,) -> Filter<FlatPairs<''i, R>,
      impl FnMut(&Pair<''i, R>) -> bool + ''i>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tokens::new
      Src: /src/pest/pest/src/iterators/pairs.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: Pairs::tokens
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 1
    functionsReached:
    - tokens::new
    linkageType: ''
    returnType: Tokens
    signature: pub fn tokens(self) -> Tokens<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pairs.rs:366,1
    - Dst: pair::new
      Src: /src/pest/pest/src/iterators/pairs.rs:366,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:367,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: Pairs::peek
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 2
    functionsReached:
    - pair::new
    - Some
    - Rc::clone
    linkageType: ''
    returnType: Option
    signature: pub fn peek(&self) -> Option<Pair<'i, R>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: Pairs::is_empty
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::serde_json::to_string_pretty
      Src: /src/pest/pest/src/iterators/pairs.rs:386,1
    - Dst: expect
      Src: /src/pest/pest/src/iterators/pairs.rs:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: Pairs::to_json
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - expect
    - ::serde_json::to_string_pretty
    linkageType: ''
    returnType: String
    signature: pub fn to_json(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: Pairs::pair
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn pair(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: Pairs::pair_from_end
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn pair_from_end(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: Pairs::pos
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn pos(&self, index: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: Pairs::len
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::peek
      Src: /src/pest/pest/src/iterators/pairs.rs:427,1
    - Dst: Pairs::pair
      Src: /src/pest/pest/src/iterators/pairs.rs:429,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pairs.rs:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: Pairs::next
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 5
    functionsReached:
    - Pairs::pair
    - Some
    - Pairs::peek
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as ExactSizeIterator>::len
      Src: /src/pest/pest/src/iterators/pairs.rs:435,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pairs.rs:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: Pairs::size_hint
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - <Self as ExactSizeIterator>::len
    - Some
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::pair_from_end
      Src: /src/pest/pest/src/iterators/pairs.rs:446,1
    - Dst: pair::new
      Src: /src/pest/pest/src/iterators/pairs.rs:449,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:450,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:452,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pairs.rs:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 457
    functionName: Pairs::next_back
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - Pairs::pair_from_end
    - pair::new
    - Some
    - Rc::clone
    linkageType: ''
    returnType: Option
    signature: fn next_back(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:468,1
    - Dst: FlatPairs::map
      Src: /src/pest/pest/src/iterators/pairs.rs:468,1
    - Dst: alternate
      Src: /src/pest/pest/src/iterators/pairs.rs:471,1
    - Dst: "clone()\n            .map(|pair| {\n                if f.alternate() {\n\
        \                    format!(\"{pair:#}\")\n                } else {\n   \
        \                 format!(\"{pair}\")\n                }\n            })\n\
        \            .collect::<Vec<_>>"
      Src: /src/pest/pest/src/iterators/pairs.rs:468,1
    - Dst: join
      Src: /src/pest/pest/src/iterators/pairs.rs:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 17
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: Pairs::fmt
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - FlatPairs::map
    - alternate
    - "clone()\n            .map(|pair| {\n                if f.alternate() {\n  \
      \                  format!(\"{pair:#}\")\n                } else {\n       \
      \             format!(\"{pair}\")\n                }\n            })\n     \
      \       .collect::<Vec<_>>"
    - join
    - Pairs::clone
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rc::ptr_eq
      Src: /src/pest/pest/src/iterators/pairs.rs:485,1
    - Dst: ptr::eq
      Src: /src/pest/pest/src/iterators/pairs.rs:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Pairs<''i, R>'
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: Pairs::eq
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ptr::eq
    - Rc::ptr_eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Pairs<''i, R>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pairs.rs:496,1
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pairs.rs:497,1
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pairs.rs:498,1
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pairs.rs:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: Pairs::hash
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: void
    signature: 'fn hash<H: Hasher>(&self, state: &mut H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pairs::pos
      Src: /src/pest/pest/src/iterators/pairs.rs:509,1
    - Dst: Pairs::pos
      Src: /src/pest/pest/src/iterators/pairs.rs:510,1
    - Dst: Pairs::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:511,1
    - Dst: clone().collect::<Vec<_>>
      Src: /src/pest/pest/src/iterators/pairs.rs:511,1
    - Dst: S::serialize_struct
      Src: /src/pest/pest/src/iterators/pairs.rs:513,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pairs.rs:514,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pairs.rs:515,1
    - Dst: TokenStream::end
      Src: /src/pest/pest/src/iterators/pairs.rs:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 15
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: Pairs::serialize
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - TokenStream::end
    - clone().collect::<Vec<_>>
    - Pairs::clone
    - S::serialize_struct
    - TokenStream::serialize_field
    - Pairs::pos
    linkageType: ''
    returnType: Result
    signature: 'fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>whereS:
      ::serde::Serializer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pair.rs:422,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pair.rs:422,1
    - Dst: next
      Src: /src/pest/pest/src/iterators/pair.rs:422,1
    - Dst: unwrap
      Src: /src/pest/pest/src/iterators/pair.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 421
    functionDepth: 16
    functionLinenumber: 421
    functionLinenumberEnd: 449
    functionName: tests::test_pretty_print
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ':: std :: result :: Result ::unwrap'
    - next
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn test_pretty_print()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:580,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: tests::as_str
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn as_str()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:588,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: tests::get_input_of_pairs
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn get_input_of_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:595,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: tests::as_str_empty
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn as_str_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:602,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: tests::concat
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn concat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:609,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 622
    functionName: tests::pairs_debug
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn pairs_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:626,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: tests::pairs_display
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn pairs_display()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:637,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: tests::iter_for_pairs
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn iter_for_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:646,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: tests::double_ended_iter_for_pairs
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn double_ended_iter_for_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:203,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:203,1
    - Dst: flatten
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:203,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:205,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:205,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:210,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:210,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:215,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 16
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: tests::test_line_col
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    - Result::next
    - flatten
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_line_col()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pairs.rs:671,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pairs.rs:671,1
    - Dst: rev
      Src: /src/pest/pest/src/iterators/pairs.rs:671,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/pairs.rs:672,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/pairs.rs:672,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/pairs.rs:676,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/pairs.rs:676,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/pairs.rs:680,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/pairs.rs:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 670
    functionDepth: 16
    functionLinenumber: 670
    functionLinenumberEnd: 683
    functionName: tests::test_rev_iter_line_col
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - rev
    - AbcParser::parse
    - Result::next
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_rev_iter_line_col()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expr
      Src: /src/pest/pest/src/iterators/pairs.rs:700,1
    - Dst: Vec::and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:700,1
    - Dst: Result::tag_node
      Src: /src/pest/pest/src/iterators/pairs.rs:701,1
    - Dst: or_else
      Src: /src/pest/pest/src/iterators/pairs.rs:700,1
    - Dst: expr
      Src: /src/pest/pest/src/iterators/pairs.rs:702,1
    - Dst: and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:700,1
    - Dst: Result::tag_node
      Src: /src/pest/pest/src/iterators/pairs.rs:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 18
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::mark_branch
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - or_else
    - expr
    - Result::tag_node
    - Vec::and_then
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn mark_branch(state: Box<ParserState<''_, Rule>>,) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/src/iterators/pairs.rs:710,1
    - Dst: Result::sequence
      Src: /src/pest/pest/src/iterators/pairs.rs:711,1
    - Dst: number
      Src: /src/pest/pest/src/iterators/pairs.rs:712,1
    - Dst: and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:712,1
    - Dst: Result::tag_node
      Src: /src/pest/pest/src/iterators/pairs.rs:713,1
    - Dst: and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:712,1
    - Dst: Result::match_string
      Src: /src/pest/pest/src/iterators/pairs.rs:714,1
    - Dst: and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:712,1
    - Dst: and_then
      Src: /src/pest/pest/src/iterators/pairs.rs:712,1
    - Dst: Result::tag_node
      Src: /src/pest/pest/src/iterators/pairs.rs:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - state
    - r
    - o
    argTypes:
    - Box<ParserState<'a, Rule>>
    - Rule
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 719
      start: 705
    functionDepth: 15
    functionLinenumber: 705
    functionLinenumberEnd: 719
    functionName: t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::expr
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - Result::match_string
    - Result::tag_node
    - number
    - Result::sequence
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn expr<''a>(state: Box<ParserState<''a, Rule>>,r: Rule,o: &''static
      str,) -> ParseResult<Box<ParserState<''a, Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/src/iterators/pairs.rs:721,1
    - Dst: Result::match_range
      Src: /src/pest/pest/src/iterators/pairs.rs:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 722
      start: 720
    functionDepth: 16
    functionLinenumber: 720
    functionLinenumberEnd: 722
    functionName: t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::number
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - Result::rule
    - Result::match_range
    linkageType: ''
    returnType: ParseResult
    signature: 'fn number(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/pest/pest/src/iterators/pairs.rs:724,1
    - Dst: Result::unwrap
      Src: /src/pest/pest/src/iterators/pairs.rs:724,1
    - Dst: Result::clone
      Src: /src/pest/pest/src/iterators/pairs.rs:728,1
    - Dst: FlatPairs::find_tagged
      Src: /src/pest/pest/src/iterators/pairs.rs:728,1
    - Dst: Result::find_tagged
      Src: /src/pest/pest/src/iterators/pairs.rs:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 688
    functionDepth: 20
    functionLinenumber: 688
    functionLinenumberEnd: 736
    functionName: tests::test_tag_node_branch
    functionSourceFile: /src/pest/pest/src/iterators/pairs.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::find_tagged
    - state
    - FlatPairs::find_tagged
    - Result::clone
    linkageType: ''
    returnType: void
    signature: fn test_tag_node_branch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:223,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:223,1
    - Dst: flatten
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:223,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:226,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:226,1
    - Dst: flatten
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:226,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:229,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:229,1
    - Dst: flatten
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:229,1
    - Dst: Result::rev
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:230,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:233,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:233,1
    - Dst: flatten
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:233,1
    - Dst: Result::len
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:234,1
    - Dst: Result::next
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:235,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 15
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: tests::exact_size_iter_for_pairs
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - Result::len
    - Option::unwrap
    - AbcParser::parse
    - Result::next
    - flatten
    - Result::rev
    linkageType: ''
    returnType: void
    signature: fn exact_size_iter_for_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/iterators/tokens.rs:74,1
    - Dst: position::Position::new_internal
      Src: /src/pest/pest/src/iterators/tokens.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: Tokens::create_token
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 2
    functionsReached:
    - position::Position::new_internal
    linkageType: ''
    returnType: Token
    signature: 'fn create_token(&self, index: usize) -> Token<''i, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Tokens::len
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tokens::create_token
      Src: /src/pest/pest/src/iterators/tokens.rs:101,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/tokens.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: Tokens::next
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - Tokens::create_token
    - Some
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as ExactSizeIterator>::len
      Src: /src/pest/pest/src/iterators/tokens.rs:109,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/tokens.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: Tokens::size_hint
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - <Self as ExactSizeIterator>::len
    - Some
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tokens::create_token
      Src: /src/pest/pest/src/iterators/tokens.rs:120,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/tokens.rs:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: Tokens::next_back
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - Tokens::create_token
    - Some
    linkageType: ''
    returnType: Option
    signature: fn next_back(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_list
      Src: /src/pest/pest/src/iterators/tokens.rs:130,1
    - Dst: entries
      Src: /src/pest/pest/src/iterators/tokens.rs:130,1
    - Dst: Tokens::clone
      Src: /src/pest/pest/src/iterators/tokens.rs:130,1
    - Dst: finish
      Src: /src/pest/pest/src/iterators/tokens.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Tokens::fmt
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - finish
    - Tokens::clone
    - debug_list
    - entries
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/tokens.rs:143,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/tokens.rs:143,1
    - Dst: Result::clone
      Src: /src/pest/pest/src/iterators/tokens.rs:144,1
    - Dst: FlatPairs::tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:144,1
    - Dst: clone().tokens().collect::<Vec<Token<'_, Rule>>>
      Src: /src/pest/pest/src/iterators/tokens.rs:144,1
    - Dst: Vec::reverse
      Src: /src/pest/pest/src/iterators/tokens.rs:145,1
    - Dst: Result::tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:146,1
    - Dst: Vec::rev
      Src: /src/pest/pest/src/iterators/tokens.rs:146,1
    - Dst: tokens().rev().collect::<Vec<Token<'_, Rule>>>
      Src: /src/pest/pest/src/iterators/tokens.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 17
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: tests::double_ended_iter_for_tokens
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - Vec::rev
    - ':: std :: result :: Result ::unwrap'
    - Vec::reverse
    - Result::tokens
    - tokens().rev().collect::<Vec<Token<'_, Rule>>>
    - AbcParser::parse
    - clone().tokens().collect::<Vec<Token<'_, Rule>>>
    - FlatPairs::tokens
    - Result::clone
    linkageType: ''
    returnType: void
    signature: fn double_ended_iter_for_tokens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/tokens.rs:152,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/tokens.rs:152,1
    - Dst: tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:152,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/tokens.rs:155,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/tokens.rs:155,1
    - Dst: tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:155,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/tokens.rs:158,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/tokens.rs:158,1
    - Dst: tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:158,1
    - Dst: rev
      Src: /src/pest/pest/src/iterators/tokens.rs:158,1
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/tokens.rs:161,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/tokens.rs:161,1
    - Dst: tokens
      Src: /src/pest/pest/src/iterators/tokens.rs:161,1
    - Dst: Vec::len
      Src: /src/pest/pest/src/iterators/tokens.rs:162,1
    - Dst: Vec::next
      Src: /src/pest/pest/src/iterators/tokens.rs:163,1
    - Dst: Option::unwrap
      Src: /src/pest/pest/src/iterators/tokens.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 17
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: tests::exact_size_iter_for_tokens
    functionSourceFile: /src/pest/pest/src/iterators/tokens.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - tokens
    - rev
    - Vec::next
    - AbcParser::parse
    - Vec::len
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn exact_size_iter_for_tokens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tokens::new
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: FlatPairs::tokens
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 1
    functionsReached:
    - tokens::new
    linkageType: ''
    returnType: Tokens
    signature: pub fn tokens(self) -> Tokens<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FlatPairs::is_start
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: FlatPairs::next_start
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 1
    functionsReached:
    - FlatPairs::is_start
    linkageType: ''
    returnType: void
    signature: fn next_start(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FlatPairs::is_start
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: FlatPairs::next_start_from_end
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 1
    functionsReached:
    - FlatPairs::is_start
    linkageType: ''
    returnType: void
    signature: fn next_start_from_end(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: FlatPairs::is_start
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn is_start(&self, index: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: FlatPairs::len
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pair::new
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:115,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:116,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:118,1
    - Dst: FlatPairs::next_start
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:121,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: FlatPairs::next
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - pair::new
    - Some
    - FlatPairs::next_start
    - Rc::clone
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as ExactSizeIterator>::len
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:127,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: FlatPairs::size_hint
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - <Self as ExactSizeIterator>::len
    - Some
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FlatPairs::next_start_from_end
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:138,1
    - Dst: pair::new
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:140,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:141,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:143,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: FlatPairs::next_back
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - pair::new
    - Some
    - Rc::clone
    - FlatPairs::next_start_from_end
    linkageType: ''
    returnType: Option
    signature: fn next_back(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:153,1
    - Dst: field
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:153,1
    - Dst: FlatPairs::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:154,1
    - Dst: clone().collect::<Vec<_>>
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:154,1
    - Dst: finish
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: FlatPairs::fmt
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - field
    - clone().collect::<Vec<_>>
    - FlatPairs::clone
    - finish
    - debug_struct
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:162,1
    - Dst: Rc::clone
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: FlatPairs::clone
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 1
    functionsReached:
    - Rc::clone
    linkageType: ''
    returnType: FlatPairs
    signature: fn clone(&self) -> FlatPairs<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:180,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: tests::iter_for_flat_pairs
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn iter_for_flat_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:190,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/flat_pairs.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: tests::double_ended_iter_for_flat_pairs
    functionSourceFile: /src/pest/pest/src/iterators/flat_pairs.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn double_ended_iter_for_flat_pairs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: Pair::as_rule
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 1
    functionsReached:
    - Pair::pair
    linkageType: ''
    returnType: R
    signature: pub fn as_rule(&self) -> R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:115,1
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:116,1
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Pair::as_str
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 1
    functionsReached:
    - Pair::pos
    - Pair::pair
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn as_str(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Pair::get_input
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''i str'
    signature: pub fn get_input(&self) -> &'i str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::as_span
      Src: /src/pest/pest/src/iterators/pair.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Pair::into_span
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - Pair::as_span
    linkageType: ''
    returnType: Span
    signature: pub fn into_span(self) -> Span<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:204,1
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:205,1
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:205,1
    - Dst: Span::new_internal
      Src: /src/pest/pest/src/iterators/pair.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Pair::as_span
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 1
    functionsReached:
    - Pair::pos
    - Span::new_internal
    - Pair::pair
    linkageType: ''
    returnType: Span
    signature: pub fn as_span(&self) -> Span<'i>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:213,1
    - Dst: (Pair::as_ref
      Src: /src/pest/pest/src/iterators/pair.rs:214,1
    - Dst: map
      Src: /src/pest/pest/src/iterators/pair.rs:214,1
    - Dst: borrow
      Src: /src/pest/pest/src/iterators/pair.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 17
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: Pair::as_node_tag
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - (Pair::as_ref
    - borrow
    - map
    - Pair::pair
    linkageType: ''
    returnType: Option
    signature: pub fn as_node_tag(&self) -> Option<&str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:242,1
    - Dst: pairs::new
      Src: /src/pest/pest/src/iterators/pair.rs:244,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pair.rs:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: Pair::into_inner
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - Some
    - pairs::new
    - Pair::pair
    linkageType: ''
    returnType: Pairs
    signature: pub fn into_inner(self) -> Pairs<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:277,1
    - Dst: tokens::new
      Src: /src/pest/pest/src/iterators/pair.rs:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: Pair::tokens
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - tokens::new
    - Pair::pair
    linkageType: ''
    returnType: Tokens
    signature: pub fn tokens(self) -> Tokens<'i, R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::serde_json::to_string_pretty
      Src: /src/pest/pest/src/iterators/pair.rs:286,1
    - Dst: expect
      Src: /src/pest/pest/src/iterators/pair.rs:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Pair::to_json
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - expect
    - ::serde_json::to_string_pretty
    linkageType: ''
    returnType: String
    signature: pub fn to_json(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:291,1
    - Dst: line_col
      Src: /src/pest/pest/src/iterators/pair.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 16
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: Pair::line_col
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - Pair::pos
    - line_col
    linkageType: ''
    returnType: (usize, usize)
    signature: pub fn line_col(&self) -> (usize, usize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: Pair::pair
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn pair(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: Pair::pos
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn pos(&self, index: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseResult::pair
      Src: /src/pest/pest/src/iterators/pair.rs:316,1
    - Dst: pairs::new
      Src: /src/pest/pest/src/iterators/pair.rs:317,1
    - Dst: Some
      Src: /src/pest/pest/src/iterators/pair.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pair
    argTypes:
    - Pair<'i, R>
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 15
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: Pairs::single
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - Some
    - ParseResult::pair
    - pairs::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn single(pair: Pair<''i, R>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alternate
      Src: /src/pest/pest/src/iterators/pair.rs:343,1
    - Dst: Pair::as_rule
      Src: /src/pest/pest/src/iterators/pair.rs:344,1
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:345,1
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:346,1
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:346,1
    - Dst: Pair::clone
      Src: /src/pest/pest/src/iterators/pair.rs:347,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/pest/src/iterators/pair.rs:347,1
    - Dst: Pairs::peekable
      Src: /src/pest/pest/src/iterators/pair.rs:347,1
    - Dst: Result::peek
      Src: /src/pest/pest/src/iterators/pair.rs:349,1
    - Dst: ParseResult::is_none
      Src: /src/pest/pest/src/iterators/pair.rs:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 16
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: Pair::fmt
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - FlatPairs::into_inner
    - Pair::as_rule
    - Result::peek
    - alternate
    - Pair::clone
    - Pairs::peekable
    - ParseResult::is_none
    - Pair::pos
    - Pair::pair
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rc::ptr_eq
      Src: /src/pest/pest/src/iterators/pair.rs:372,1
    - Dst: ptr::eq
      Src: /src/pest/pest/src/iterators/pair.rs:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Pair<''i, R>'
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: Pair::eq
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - ptr::eq
    - Rc::ptr_eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Pair<''i, R>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pair.rs:382,1
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pair.rs:383,1
    - Dst: hash
      Src: /src/pest/pest/src/iterators/pair.rs:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: Pair::hash
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: void
    signature: 'fn hash<H: Hasher>(&self, state: &mut H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:394,1
    - Dst: Pair::pos
      Src: /src/pest/pest/src/iterators/pair.rs:395,1
    - Dst: Pair::pair
      Src: /src/pest/pest/src/iterators/pair.rs:395,1
    - Dst: Pair::clone
      Src: /src/pest/pest/src/iterators/pair.rs:397,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/pest/src/iterators/pair.rs:397,1
    - Dst: S::serialize_struct
      Src: /src/pest/pest/src/iterators/pair.rs:399,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pair.rs:400,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pair.rs:401,1
    - Dst: Pairs::peek
      Src: /src/pest/pest/src/iterators/pair.rs:403,1
    - Dst: Option::is_none
      Src: /src/pest/pest/src/iterators/pair.rs:403,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pair.rs:404,1
    - Dst: Pair::as_str
      Src: /src/pest/pest/src/iterators/pair.rs:404,1
    - Dst: TokenStream::serialize_field
      Src: /src/pest/pest/src/iterators/pair.rs:406,1
    - Dst: TokenStream::end
      Src: /src/pest/pest/src/iterators/pair.rs:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 15
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: Pair::serialize
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - FlatPairs::into_inner
    - Option::is_none
    - TokenStream::end
    - Pair::clone
    - Pair::as_str
    - Pairs::peek
    - S::serialize_struct
    - Pair::pos
    - TokenStream::serialize_field
    - Pair::pair
    linkageType: ''
    returnType: Result
    signature: 'fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>whereS:
      ::serde::Serializer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pair.rs:453,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pair.rs:453,1
    - Dst: next
      Src: /src/pest/pest/src/iterators/pair.rs:453,1
    - Dst: unwrap
      Src: /src/pest/pest/src/iterators/pair.rs:453,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/pest/src/iterators/pair.rs:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 16
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: tests::pair_into_inner
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - ParseResult::into_inner
    - unwrap
    - next
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn pair_into_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pair.rs:463,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pair.rs:463,1
    - Dst: next
      Src: /src/pest/pest/src/iterators/pair.rs:463,1
    - Dst: unwrap
      Src: /src/pest/pest/src/iterators/pair.rs:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 16
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: tests::get_input_of_pair
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ':: std :: result :: Result ::unwrap'
    - next
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn get_input_of_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pair.rs:469,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pair.rs:469,1
    - Dst: next
      Src: /src/pest/pest/src/iterators/pair.rs:469,1
    - Dst: unwrap
      Src: /src/pest/pest/src/iterators/pair.rs:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 16
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: tests::pair_to_string_matches_as_str
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ':: std :: result :: Result ::unwrap'
    - next
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn pair_to_string_matches_as_str()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbcParser::parse
      Src: /src/pest/pest/src/iterators/pair.rs:475,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/pest/src/iterators/pair.rs:475,1
    - Dst: next
      Src: /src/pest/pest/src/iterators/pair.rs:475,1
    - Dst: unwrap
      Src: /src/pest/pest/src/iterators/pair.rs:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 16
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: tests::alternate_format
    functionSourceFile: /src/pest/pest/src/iterators/pair.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ':: std :: result :: Result ::unwrap'
    - next
    - AbcParser::parse
    linkageType: ''
    returnType: void
    signature: fn alternate_format()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::chars
      Src: /src/pest/pest/src/iterators/line_index.rs:23,1
    - Dst: len_utf8
      Src: /src/pest/pest/src/iterators/line_index.rs:24,1
    - Dst: push
      Src: /src/pest/pest/src/iterators/line_index.rs:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: LineIndex::new
    functionSourceFile: /src/pest/pest/src/iterators/line_index.rs
    functionUses: 1
    functionsReached:
    - len_utf8
    - DebuggerContext::chars
    - push
    linkageType: ''
    returnType: LineIndex
    signature: 'pub fn new(text: &str) -> LineIndex'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: partition_point
      Src: /src/pest/pest/src/iterators/line_index.rs:37,1
    - Dst: chars
      Src: /src/pest/pest/src/iterators/line_index.rs:42,1
    - Dst: count
      Src: /src/pest/pest/src/iterators/line_index.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - input
    - pos
    argTypes:
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: LineIndex::line_col
    functionSourceFile: /src/pest/pest/src/iterators/line_index.rs
    functionUses: 0
    functionsReached:
    - chars
    - partition_point
    - count
    linkageType: ''
    returnType: (usize, usize)
    signature: 'pub fn line_col(&self, input: &str, pos: usize) -> (usize, usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LineIndex::new
      Src: /src/pest/pest/src/iterators/line_index.rs:77,1
    - Dst: iter
      Src: /src/pest/pest/src/iterators/line_index.rs:78,1
    - Dst: Option::line_col
      Src: /src/pest/pest/src/iterators/line_index.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 16
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: tests::test_line_index
    functionSourceFile: /src/pest/pest/src/iterators/line_index.rs
    functionUses: 0
    functionsReached:
    - iter
    - Option::line_col
    - LineIndex::new
    linkageType: ''
    returnType: void
    signature: fn test_line_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sequence
      Src: /src/pest/pest/examples/parens.rs:22,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/examples/parens.rs:22,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/examples/parens.rs:22,1
    - Dst: '& ''static [Rule]::end_of_input'
      Src: /src/pest/pest/examples/parens.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 20
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: P::a::r::e::n::P::a::r::s::e::r::::::::p::a::r::s::e::expr
    functionSourceFile: /src/pest/pest/examples/parens.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::end_of_input'
    - '& ''static [Rule]::repeat'
    - Result::sequence
    - ParseResult::and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn expr(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rule
      Src: /src/pest/pest/examples/parens.rs:26,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/examples/parens.rs:27,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/examples/parens.rs:28,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/examples/parens.rs:28,1
    - Dst: '& ''static [Rule]::optional'
      Src: /src/pest/pest/examples/parens.rs:30,1
    - Dst: '& ''static [Rule]::sequence'
      Src: /src/pest/pest/examples/parens.rs:31,1
    - Dst: '& ''static [Rule]::lookahead'
      Src: /src/pest/pest/examples/parens.rs:32,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/examples/parens.rs:32,1
    - Dst: ParseResult::and_then
      Src: /src/pest/pest/examples/parens.rs:32,1
    - Dst: '& ''static [Rule]::repeat'
      Src: /src/pest/pest/examples/parens.rs:33,1
    - Dst: and_then
      Src: /src/pest/pest/examples/parens.rs:28,1
    - Dst: '& ''static [Rule]::rule'
      Src: /src/pest/pest/examples/parens.rs:37,1
    - Dst: '& ''static [Rule]::match_string'
      Src: /src/pest/pest/examples/parens.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'_, Rule>>
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 16
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: P::a::r::e::n::P::a::r::s::e::r::::::::p::a::r::s::e::paren
    functionSourceFile: /src/pest/pest/examples/parens.rs
    functionUses: 0
    functionsReached:
    - '& ''static [Rule]::sequence'
    - Result::rule
    - '& ''static [Rule]::match_string'
    - ParseResult::and_then
    - '& ''static [Rule]::optional'
    - '& ''static [Rule]::repeat'
    - '& ''static [Rule]::rule'
    - '& ''static [Rule]::lookahead'
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn paren(state: Box<ParserState<''_, Rule>>) -> ParseResult<Box<ParserState<''_,
      Rule>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::state
      Src: /src/pest/pest/examples/parens.rs:42,1
    - Dst: expr
      Src: /src/pest/pest/examples/parens.rs:43,1
    - Dst: paren
      Src: /src/pest/pest/examples/parens.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 2
    argNames:
    - rule
    - input
    argTypes:
    - Rule
    - '&str'
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 18
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: ParenParser::parse
    functionSourceFile: /src/pest/pest/examples/parens.rs
    functionUses: 0
    functionsReached:
    - expr
    - paren
    - pest::state
    linkageType: ''
    returnType: Result
    signature: 'fn parse(rule: Rule, input: &str) -> Result<Pairs<Rule>, Error<Rule>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::filter
      Src: /src/pest/pest/examples/parens.rs:55,1
    - Dst: as_rule
      Src: /src/pest/pest/examples/parens.rs:56,1
    - Dst: map
      Src: /src/pest/pest/examples/parens.rs:55,1
    - Dst: Paren
      Src: /src/pest/pest/examples/parens.rs:57,1
    - Dst: expr
      Src: /src/pest/pest/examples/parens.rs:57,1
    - Dst: into_inner
      Src: /src/pest/pest/examples/parens.rs:57,1
    - Dst: collect
      Src: /src/pest/pest/examples/parens.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs<Rule>
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 17
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: expr
    functionSourceFile: /src/pest/pest/examples/parens.rs
    functionUses: 20
    functionsReached:
    - into_inner
    - Result::filter
    - collect
    - expr
    - as_rule
    - map
    - Paren
    linkageType: ''
    returnType: Vec
    signature: 'fn expr(pairs: Pairs<Rule>) -> Vec<Paren>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::<T>::new
      Src: /src/pest/pest/benches/stack.rs:14,1
    - Dst: snapshot
      Src: /src/pest/pest/benches/stack.rs:16,1
    - Dst: push
      Src: /src/pest/pest/benches/stack.rs:17,1
    - Dst: clone
      Src: /src/pest/pest/benches/stack.rs:17,1
    - Dst: restore
      Src: /src/pest/pest/benches/stack.rs:18,1
    - Dst: push
      Src: /src/pest/pest/benches/stack.rs:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - elements
    argTypes:
    - impl Iterator<Item = T> + Clone
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: snapshot_push_restore
    functionSourceFile: /src/pest/pest/benches/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - Stack::<T>::new
    - clone
    - push
    - snapshot
    linkageType: ''
    returnType: void
    signature: 'fn snapshot_push_restore<T: Clone>(elements: impl Iterator<Item =
      T> + Clone)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::<T>::new
      Src: /src/pest/pest/benches/stack.rs:24,1
    - Dst: snapshot
      Src: /src/pest/pest/benches/stack.rs:26,1
    - Dst: push
      Src: /src/pest/pest/benches/stack.rs:27,1
    - Dst: clear_snapshot
      Src: /src/pest/pest/benches/stack.rs:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - elements
    argTypes:
    - impl Iterator<Item = T> + Clone
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 14
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: snapshot_push_clear_snapshot
    functionSourceFile: /src/pest/pest/benches/stack.rs
    functionUses: 0
    functionsReached:
    - clear_snapshot
    - push
    - snapshot
    - Stack::<T>::new
    linkageType: ''
    returnType: void
    signature: 'fn snapshot_push_clear_snapshot<T: Clone>(elements: impl Iterator<Item
      = T> + Clone)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::<T>::new
      Src: /src/pest/pest/benches/stack.rs:33,1
    - Dst: push
      Src: /src/pest/pest/benches/stack.rs:35,1
    - Dst: is_empty
      Src: /src/pest/pest/benches/stack.rs:37,1
    - Dst: snapshot
      Src: /src/pest/pest/benches/stack.rs:38,1
    - Dst: pop
      Src: /src/pest/pest/benches/stack.rs:39,1
    - Dst: restore
      Src: /src/pest/pest/benches/stack.rs:40,1
    - Dst: pop
      Src: /src/pest/pest/benches/stack.rs:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - elements
    argTypes:
    - impl Iterator<Item = T>
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 14
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: snapshot_pop_restore
    functionSourceFile: /src/pest/pest/benches/stack.rs
    functionUses: 0
    functionsReached:
    - restore
    - Stack::<T>::new
    - pop
    - push
    - snapshot
    - is_empty
    linkageType: ''
    returnType: void
    signature: 'fn snapshot_pop_restore<T: Clone>(elements: impl Iterator<Item = T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stack::<T>::new
      Src: /src/pest/pest/benches/stack.rs:46,1
    - Dst: push
      Src: /src/pest/pest/benches/stack.rs:48,1
    - Dst: is_empty
      Src: /src/pest/pest/benches/stack.rs:50,1
    - Dst: snapshot
      Src: /src/pest/pest/benches/stack.rs:51,1
    - Dst: pop
      Src: /src/pest/pest/benches/stack.rs:52,1
    - Dst: clear_snapshot
      Src: /src/pest/pest/benches/stack.rs:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - elements
    argTypes:
    - impl Iterator<Item = T>
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 14
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: snapshot_pop_clear
    functionSourceFile: /src/pest/pest/benches/stack.rs
    functionUses: 0
    functionsReached:
    - Stack::<T>::new
    - clear_snapshot
    - pop
    - push
    - snapshot
    - is_empty
    linkageType: ''
    returnType: void
    signature: 'fn snapshot_pop_clear<T: Clone>(elements: impl Iterator<Item = T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: repeat_n
      Src: /src/pest/pest/benches/stack.rs:63,1
    - Dst: repeat_n
      Src: /src/pest/pest/benches/stack.rs:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: benchmark
    functionSourceFile: /src/pest/pest/benches/stack.rs
    functionUses: 0
    functionsReached:
    - repeat_n
    linkageType: ''
    returnType: void
    signature: 'fn benchmark(b: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser::parse
      Src: /src/pest/vm/tests/lists.rs:22,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/vm/tests/lists.rs:22,1
    - Dst: parser::consume_rules
      Src: /src/pest/vm/tests/lists.rs:23,1
    - Dst: Result::unwrap
      Src: /src/pest/vm/tests/lists.rs:23,1
    - Dst: Vm::new
      Src: /src/pest/vm/tests/lists.rs:24,1
    - Dst: optimizer::optimize
      Src: /src/pest/vm/tests/lists.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 17
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: vm
    functionSourceFile: /src/pest/vm/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parser::parse
    - ':: std :: result :: Result ::unwrap'
    - Result::unwrap
    - parser::consume_rules
    - optimizer::optimize
    - Vm::new
    linkageType: ''
    returnType: Vm
    signature: fn vm() -> Vm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 14
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: choices
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 3
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn choices()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 14
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: choices_no_progress
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn choices_no_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 14
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: choices_a_progress
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn choices_a_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 14
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: choices_b_progress
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn choices_b_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 14
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: nested
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn nested()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 14
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: negative
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn negative()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 14
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: negative_match
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn negative_match()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 14
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: mixed
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn mixed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fails_with
      Src: /src/pest/derive/tests/reporting.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 14
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: mixed_progress
    functionSourceFile: /src/pest/derive/tests/reporting.rs
    functionUses: 0
    functionsReached:
    - fails_with
    linkageType: ''
    returnType: void
    signature: fn mixed_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/vm/tests/surround.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 14
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: quote
    functionSourceFile: /src/pest/vm/tests/surround.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn quote()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 14
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: string
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 44
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 14
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: insensitive
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 2
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn insensitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 14
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: range
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 9
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 14
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ident
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 2
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ident()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 14
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pos_pred
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn pos_pred()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 14
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: neg_pred
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn neg_pred()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 14
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: double_neg_pred
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn double_neg_pred()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 14
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: sequence
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 17
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 14
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: sequence_compound
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_compound()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 14
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: sequence_atomic
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 14
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: sequence_non_atomic
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_non_atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 14
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: sequence_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 14
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: sequence_atomic_compound
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_atomic_compound()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 14
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: sequence_compound_nested
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_compound_nested()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 14
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: sequence_compound_nested_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn sequence_compound_nested_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 14
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: choice_string
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn choice_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 14
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: choice_range
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn choice_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 14
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: optional_string
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn optional_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 14
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: optional_empty
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn optional_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 14
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: repeat_empty
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 14
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: repeat_strings
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 14
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: repeat_atomic_empty
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_atomic_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 14
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: repeat_atomic_strings
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_atomic_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 14
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: repeat_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 14
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: repeat_once_empty
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_once_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 14
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: repeat_once_strings
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_once_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 14
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: repeat_once_atomic_empty
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_once_atomic_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 14
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: repeat_once_atomic_strings
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_once_atomic_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 14
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: repeat_once_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_once_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 428
    functionDepth: 14
    functionLinenumber: 428
    functionLinenumberEnd: 440
    functionName: repeat_min_max_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 14
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: repeat_min_max_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 14
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: repeat_min_max_atomic_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_atomic_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 14
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: repeat_min_max_atomic_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_atomic_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 14
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: repeat_min_max_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_max_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 14
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: repeat_exact
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_exact()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 14
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: repeat_min_once
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 520
    functionDepth: 14
    functionLinenumber: 520
    functionLinenumberEnd: 532
    functionName: repeat_min_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 14
    functionLinenumber: 535
    functionLinenumberEnd: 548
    functionName: repeat_min_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 14
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: repeat_min_atomic_once
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_atomic_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 14
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: repeat_min_atomic_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_atomic_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 14
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: repeat_min_atomic_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_atomic_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 587
    functionDepth: 14
    functionLinenumber: 587
    functionLinenumberEnd: 594
    functionName: repeat_min_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_min_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 14
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: repeat_max_once
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 611
    functionDepth: 14
    functionLinenumber: 611
    functionLinenumberEnd: 623
    functionName: repeat_max_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 14
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: repeat_max_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 14
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: repeat_max_atomic_once
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_atomic_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 14
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: repeat_max_atomic_twice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_atomic_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 662
    functionDepth: 14
    functionLinenumber: 662
    functionLinenumberEnd: 669
    functionName: repeat_max_atomic_thrice
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_atomic_thrice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 14
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: repeat_max_atomic_space
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_max_atomic_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 14
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: repeat_comment
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_comment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 14
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: soi_at_start
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn soi_at_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 14
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: peek
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 10
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 14
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: peek_all
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 14
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: peek_slice_23
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn peek_slice_23()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 14
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: pop
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 20
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn pop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 775
    functionDepth: 14
    functionLinenumber: 775
    functionLinenumberEnd: 787
    functionName: pop_all
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn pop_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 790
    functionDepth: 14
    functionLinenumber: 790
    functionLinenumberEnd: 802
    functionName: pop_fail
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn pop_fail()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 805
    functionDepth: 14
    functionLinenumber: 805
    functionLinenumberEnd: 814
    functionName: repeat_mutate_stack
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn repeat_mutate_stack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 831
    functionDepth: 14
    functionLinenumber: 831
    functionLinenumberEnd: 840
    functionName: checkpoint_restore
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn checkpoint_restore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 14
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: ascii_digits
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 14
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: ascii_nonzero_digits
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_nonzero_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 14
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: ascii_bin_digits
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_bin_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 14
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: ascii_oct_digits
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_oct_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 900
      start: 891
    functionDepth: 14
    functionLinenumber: 891
    functionLinenumberEnd: 900
    functionName: ascii_hex_digits
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_hex_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 14
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: ascii_alpha_lowers
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_alpha_lowers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 924
      start: 915
    functionDepth: 14
    functionLinenumber: 915
    functionLinenumberEnd: 924
    functionName: ascii_alpha_uppers
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_alpha_uppers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 14
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: ascii_alphas
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_alphas()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 14
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: ascii_alphanumerics
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn ascii_alphanumerics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 951
    functionDepth: 14
    functionLinenumber: 951
    functionLinenumberEnd: 960
    functionName: asciis
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn asciis()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 963
    functionDepth: 14
    functionLinenumber: 963
    functionLinenumberEnd: 972
    functionName: newline
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn newline()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: unicode
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 996
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 996
    functionName: shadowing
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn shadowing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/vm/tests/grammar.rs:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 971
      start: 962
    functionDepth: 14
    functionLinenumber: 962
    functionLinenumberEnd: 971
    functionName: test_han
    functionSourceFile: /src/pest/vm/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn test_han()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/vm/tests/grammar.rs:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 14
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test_hangul
    functionSourceFile: /src/pest/vm/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn test_hangul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/vm/tests/grammar.rs:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 986
    functionDepth: 14
    functionLinenumber: 986
    functionLinenumberEnd: 995
    functionName: test_hiragana
    functionSourceFile: /src/pest/vm/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn test_hiragana()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1007
    functionName: arabic
    functionSourceFile: /src/pest/vm/tests/grammar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn arabic()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1019
    functionName: emoji
    functionSourceFile: /src/pest/vm/tests/grammar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn emoji()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 14
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: item
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 14
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: items
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn items()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 14
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: children
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn children()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 14
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: nested_item
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn nested_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 14
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: nested_items
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn nested_items()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 14
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: nested_two_levels
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn nested_two_levels()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/lists.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 14
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: nested_then_not
    functionSourceFile: /src/pest/derive/tests/lists.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn nested_then_not()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::into_iter'
      Src: /src/pest/vm/src/lib.rs:47,1
    - Dst: map
      Src: /src/pest/vm/src/lib.rs:47,1
    - Dst: clone
      Src: /src/pest/vm/src/lib.rs:47,1
    - Dst: collect
      Src: /src/pest/vm/src/lib.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rules
    argTypes:
    - Vec<OptimizedRule>
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 17
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: Vm::new
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 1
    functionsReached:
    - collect
    - '& ''static [Rule]::into_iter'
    - clone
    - map
    linkageType: ''
    returnType: Vm
    signature: 'pub fn new(rules: Vec<OptimizedRule>) -> Vm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::into_iter'
      Src: /src/pest/vm/src/lib.rs:58,1
    - Dst: map
      Src: /src/pest/vm/src/lib.rs:58,1
    - Dst: clone
      Src: /src/pest/vm/src/lib.rs:58,1
    - Dst: collect
      Src: /src/pest/vm/src/lib.rs:58,1
    - Dst: Some
      Src: /src/pest/vm/src/lib.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - rules
    - listener
    argTypes:
    - Vec<OptimizedRule>
    - ListenerFn
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 17
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: Vm::new_with_listener
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - collect
    - clone
    - '& ''static [Rule]::into_iter'
    - map
    linkageType: ''
    returnType: Vm
    signature: 'pub fn new_with_listener(rules: Vec<OptimizedRule>, listener: ListenerFn)
      -> Vm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::state
      Src: /src/pest/vm/src/lib.rs:72,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rule
    - input
    argTypes:
    - '&''a str'
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 12
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: Vm::parse
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 3
    functionsReached:
    - Vm::parse_rule
    - pest::state
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse<''a>(&''a self,rule: &''a str,input: &''a str,) -> Result<Pairs<''a,
      &''a str>, Error<&''a str>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener
      Src: /src/pest/vm/src/lib.rs:82,1
    - Dst: AstRule::to_owned
      Src: /src/pest/vm/src/lib.rs:82,1
    - Dst: Result::position
      Src: /src/pest/vm/src/lib.rs:82,1
    - Dst: Err
      Src: /src/pest/vm/src/lib.rs:83,1
    - Dst: ParserState::new
      Src: /src/pest/vm/src/lib.rs:83,1
    - Dst: Result::position
      Src: /src/pest/vm/src/lib.rs:83,1
    - Dst: '&Position::line_of'
      Src: /src/pest/vm/src/lib.rs:83,1
    - Dst: Result::skip
      Src: /src/pest/vm/src/lib.rs:87,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:88,1
    - Dst: Result::end_of_input
      Src: /src/pest/vm/src/lib.rs:88,1
    - Dst: Result::start_of_input
      Src: /src/pest/vm/src/lib.rs:89,1
    - Dst: Result::stack_peek
      Src: /src/pest/vm/src/lib.rs:90,1
    - Dst: Result::stack_match_peek
      Src: /src/pest/vm/src/lib.rs:91,1
    - Dst: Result::stack_pop
      Src: /src/pest/vm/src/lib.rs:92,1
    - Dst: Result::stack_match_pop
      Src: /src/pest/vm/src/lib.rs:93,1
    - Dst: Result::stack_drop
      Src: /src/pest/vm/src/lib.rs:94,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:95,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:96,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:97,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:98,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:100,1
    - Dst: ParseResult::or_else
      Src: /src/pest/vm/src/lib.rs:100,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:102,1
    - Dst: or_else
      Src: /src/pest/vm/src/lib.rs:100,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:103,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:105,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:106,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:108,1
    - Dst: ParseResult::or_else
      Src: /src/pest/vm/src/lib.rs:108,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:110,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:113,1
    - Dst: ParseResult::or_else
      Src: /src/pest/vm/src/lib.rs:113,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:115,1
    - Dst: or_else
      Src: /src/pest/vm/src/lib.rs:113,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:116,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:118,1
    - Dst: Result::match_string
      Src: /src/pest/vm/src/lib.rs:120,1
    - Dst: ParseResult::or_else
      Src: /src/pest/vm/src/lib.rs:120,1
    - Dst: Result::match_string
      Src: /src/pest/vm/src/lib.rs:122,1
    - Dst: or_else
      Src: /src/pest/vm/src/lib.rs:120,1
    - Dst: Result::match_string
      Src: /src/pest/vm/src/lib.rs:123,1
    - Dst: get
      Src: /src/pest/vm/src/lib.rs:128,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:131,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:132,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:133,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:136,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:137,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:139,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:140,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:141,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:144,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:145,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:145,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:147,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:148,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:148,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:154,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:154,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:156,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:157,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:158,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:159,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:163,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:164,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:164,1
    - Dst: Result::atomic
      Src: /src/pest/vm/src/lib.rs:167,1
    - Dst: Result::rule
      Src: /src/pest/vm/src/lib.rs:168,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:168,1
    - Dst: unicode::by_name
      Src: /src/pest/vm/src/lib.rs:173,1
    - Dst: Result::match_char_by
      Src: /src/pest/vm/src/lib.rs:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 265
    argCount: 2
    argNames:
    - rule
    - state
    argTypes:
    - '&''a str'
    - Box<ParserState<'a, &'a str>>
    constantsTouched: []
    func_position:
      end: 180
      start: 76
    functionDepth: 12
    functionLinenumber: 76
    functionLinenumberEnd: 180
    functionName: Vm::parse_rule
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 3
    functionsReached:
    - AstRule::to_owned
    - get
    - Result::atomic
    - listener
    - Result::stack_peek
    - ParserState::new
    - Vm::parse_expr
    - Err
    - ParseResult::or_else
    - Result::position
    - Result::stack_match_peek
    - Result::end_of_input
    - Result::match_char_by
    - unicode::by_name
    - Result::stack_drop
    - Result::skip
    - Result::match_range
    - Result::rule
    - '&Position::line_of'
    - Result::stack_match_pop
    - or_else
    - Result::match_string
    - Result::start_of_input
    - Result::stack_pop
    linkageType: ''
    returnType: ParseResult
    signature: 'fn parse_rule<''a>(&''a self,rule: &''a str,state: Box<ParserState<''a,
      &''a str>>,) -> ParseResult<Box<ParserState<''a, &''a str>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::match_string
      Src: /src/pest/vm/src/lib.rs:188,1
    - Dst: Result::match_insensitive
      Src: /src/pest/vm/src/lib.rs:189,1
    - Dst: chars
      Src: /src/pest/vm/src/lib.rs:191,1
    - Dst: next
      Src: /src/pest/vm/src/lib.rs:191,1
    - Dst: expect
      Src: /src/pest/vm/src/lib.rs:191,1
    - Dst: chars
      Src: /src/pest/vm/src/lib.rs:192,1
    - Dst: next
      Src: /src/pest/vm/src/lib.rs:192,1
    - Dst: expect
      Src: /src/pest/vm/src/lib.rs:192,1
    - Dst: Result::match_range
      Src: /src/pest/vm/src/lib.rs:194,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:196,1
    - Dst: Result::stack_match_peek_slice
      Src: /src/pest/vm/src/lib.rs:198,1
    - Dst: Result::lookahead
      Src: /src/pest/vm/src/lib.rs:201,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:201,1
    - Dst: Result::lookahead
      Src: /src/pest/vm/src/lib.rs:204,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:204,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:206,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:207,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:207,1
    - Dst: Vm::skip
      Src: /src/pest/vm/src/lib.rs:208,1
    - Dst: and_then
      Src: /src/pest/vm/src/lib.rs:207,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:209,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:211,1
    - Dst: ParseResult::or_else
      Src: /src/pest/vm/src/lib.rs:211,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:213,1
    - Dst: Result::optional
      Src: /src/pest/vm/src/lib.rs:214,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:214,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:215,1
    - Dst: Result::optional
      Src: /src/pest/vm/src/lib.rs:216,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:217,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:217,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:218,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:219,1
    - Dst: Vm::skip
      Src: /src/pest/vm/src/lib.rs:220,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:220,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:221,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:228,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:229,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:229,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:230,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:231,1
    - Dst: Vm::skip
      Src: /src/pest/vm/src/lib.rs:232,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:232,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:233,1
    - Dst: Result::stack_push
      Src: /src/pest/vm/src/lib.rs:238,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:238,1
    - Dst: Result::stack_push_literal
      Src: /src/pest/vm/src/lib.rs:240,1
    - Dst: to_owned
      Src: /src/pest/vm/src/lib.rs:240,1
    - Dst: Result::skip_until
      Src: /src/pest/vm/src/lib.rs:241,1
    - Dst: iter
      Src: /src/pest/vm/src/lib.rs:242,1
    - Dst: map
      Src: /src/pest/vm/src/lib.rs:242,1
    - Dst: Result::as_str
      Src: /src/pest/vm/src/lib.rs:244,1
    - Dst: "iter()\n                    .map(|state| state.as_str())\n           \
        \         .collect::<Vec<&str>>"
      Src: /src/pest/vm/src/lib.rs:242,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:248,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:248,1
    - Dst: Result::tag_node
      Src: /src/pest/vm/src/lib.rs:250,1
    - Dst: Result::restore_on_err
      Src: /src/pest/vm/src/lib.rs:252,1
    - Dst: Vm::parse_expr
      Src: /src/pest/vm/src/lib.rs:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 141
    argCount: 2
    argNames:
    - expr
    - state
    argTypes:
    - '&''a OptimizedExpr'
    - Box<ParserState<'a, &'a str>>
    constantsTouched: []
    func_position:
      end: 255
      start: 182
    functionDepth: 16
    functionLinenumber: 182
    functionLinenumberEnd: 255
    functionName: Vm::parse_expr
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 2
    functionsReached:
    - next
    - "iter()\n                    .map(|state| state.as_str())\n                \
      \    .collect::<Vec<&str>>"
    - Vm::parse_rule
    - to_owned
    - Result::stack_push_literal
    - ParseResult::and_then
    - expect
    - Vm::parse_expr
    - iter
    - Result::match_insensitive
    - ParseResult::or_else
    - Result::stack_push
    - Result::sequence
    - Result::repeat
    - Vm::skip
    - Result::stack_match_peek_slice
    - Result::tag_node
    - Result::lookahead
    - map
    - Result::match_range
    - Result::skip_until
    - Result::restore_on_err
    - chars
    - Result::optional
    - Result::match_string
    - Result::as_str
    - and_then
    linkageType: ''
    returnType: ParseResult
    signature: 'fn parse_expr<''a>(&''a self,expr: &''a OptimizedExpr,state: Box<ParserState<''a,
      &''a str>>,) -> ParseResult<Box<ParserState<''a, &''a str>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains_key
      Src: /src/pest/vm/src/lib.rs:262,1
    - Dst: contains_key
      Src: /src/pest/vm/src/lib.rs:263,1
    - Dst: Ok
      Src: /src/pest/vm/src/lib.rs:265,1
    - Dst: Result::atomicity
      Src: /src/pest/vm/src/lib.rs:267,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:268,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:268,1
    - Dst: Ok
      Src: /src/pest/vm/src/lib.rs:270,1
    - Dst: Result::atomicity
      Src: /src/pest/vm/src/lib.rs:274,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:275,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:275,1
    - Dst: Ok
      Src: /src/pest/vm/src/lib.rs:277,1
    - Dst: Result::atomicity
      Src: /src/pest/vm/src/lib.rs:281,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:282,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:283,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:284,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:283,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:286,1
    - Dst: Result::sequence
      Src: /src/pest/vm/src/lib.rs:287,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:288,1
    - Dst: ParseResult::and_then
      Src: /src/pest/vm/src/lib.rs:288,1
    - Dst: Result::repeat
      Src: /src/pest/vm/src/lib.rs:289,1
    - Dst: Vm::parse_rule
      Src: /src/pest/vm/src/lib.rs:290,1
    - Dst: Ok
      Src: /src/pest/vm/src/lib.rs:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 1
    argNames:
    - state
    argTypes:
    - Box<ParserState<'a, &'a str>>
    constantsTouched: []
    func_position:
      end: 302
      start: 257
    functionDepth: 20
    functionLinenumber: 257
    functionLinenumberEnd: 302
    functionName: Vm::skip
    functionSourceFile: /src/pest/vm/src/lib.rs
    functionUses: 1
    functionsReached:
    - Result::repeat
    - Result::atomicity
    - ParseResult::and_then
    - Ok
    - Vm::parse_rule
    - contains_key
    - Result::sequence
    linkageType: ''
    returnType: ParseResult
    signature: 'fn skip<''a>(&''a self,state: Box<ParserState<''a, &''a str>>,) ->
      ParseResult<Box<ParserState<''a, &''a str>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: surround_parenthesis
    functionSourceFile: /src/pest/derive/tests/surround.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn surround_parenthesis()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: surround_angle_brackets
    functionSourceFile: /src/pest/derive/tests/surround.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn surround_angle_brackets()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: start_with_one_end_with_other
    functionSourceFile: /src/pest/derive/tests/surround.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn start_with_one_end_with_other()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OneOrMoreParser::parse
      Src: /src/pest/derive/tests/oneormore.rs:17,1
    - Dst: unwrap
      Src: /src/pest/derive/tests/oneormore.rs:19,1
    - Dst: Result::next
      Src: /src/pest/derive/tests/oneormore.rs:20,1
    - Dst: Option::unwrap
      Src: /src/pest/derive/tests/oneormore.rs:20,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/derive/tests/oneormore.rs:22,1
    - Dst: Pairs::next
      Src: /src/pest/derive/tests/oneormore.rs:23,1
    - Dst: Option::unwrap
      Src: /src/pest/derive/tests/oneormore.rs:23,1
    - Dst: Pairs::next
      Src: /src/pest/derive/tests/oneormore.rs:26,1
    - Dst: Option::unwrap
      Src: /src/pest/derive/tests/oneormore.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 16
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: test_one_or_more
    functionSourceFile: /src/pest/derive/tests/oneormore.rs
    functionUses: 0
    functionsReached:
    - ParseResult::into_inner
    - Pairs::next
    - unwrap
    - OneOrMoreParser::parse
    - Result::next
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: pub fn test_one_or_more()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 14
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: choice_prefix
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn choice_prefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 14
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: node_tag
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 2
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn node_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar.rs:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 14
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: stack_resume_after_fail
    functionSourceFile: /src/pest/derive/tests/grammar.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn stack_resume_after_fail()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/derive/tests/grammar_inline.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 14
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: inline_string
    functionSourceFile: /src/pest/derive/tests/grammar_inline.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn inline_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestOptParser::parse
      Src: /src/pest/derive/tests/opt.rs:23,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/tests/opt.rs:25,1
    - Dst: TestOptParser::parse
      Src: /src/pest/derive/tests/opt.rs:30,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/tests/opt.rs:32,1
    - Dst: TestOptParser::parse
      Src: /src/pest/derive/tests/opt.rs:37,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/tests/opt.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: test_opt_tag
    functionSourceFile: /src/pest/derive/tests/opt.rs
    functionUses: 0
    functionsReached:
    - TestOptParser::parse
    - ':: std :: result :: Result ::unwrap'
    linkageType: ''
    returnType: void
    signature: fn test_opt_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestImplicitParser::parse
      Src: /src/pest/derive/tests/implicit.rs:25,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/tests/implicit.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: test_implicit_whitespace
    functionSourceFile: /src/pest/derive/tests/implicit.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - TestImplicitParser::parse
    linkageType: ''
    returnType: void
    signature: fn test_implicit_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestImplicitParser::parse
      Src: /src/pest/derive/tests/implicit.rs:42,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/tests/implicit.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: test_implicit_whitespace_multitag
    functionSourceFile: /src/pest/derive/tests/implicit.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - TestImplicitParser::parse
    linkageType: ''
    returnType: void
    signature: fn test_implicit_whitespace_multitag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse2
      Src: /src/pest/generator/src/lib.rs:59,1
    - Dst: unwrap
      Src: /src/pest/generator/src/lib.rs:59,1
    - Dst: parse_derive::parse_derive
      Src: /src/pest/generator/src/lib.rs:60,1
    - Dst: String::new
      Src: /src/pest/generator/src/lib.rs:63,1
    - Dst: env::var
      Src: /src/pest/generator/src/lib.rs:69,1
    - Dst: unwrap_or_else
      Src: /src/pest/generator/src/lib.rs:69,1
    - Dst: '&str::into'
      Src: /src/pest/generator/src/lib.rs:69,1
    - Dst: Path::new
      Src: /src/pest/generator/src/lib.rs:79,1
    - Dst: Self::join
      Src: /src/pest/generator/src/lib.rs:79,1
    - Dst: exists
      Src: /src/pest/generator/src/lib.rs:79,1
    - Dst: Path::new
      Src: /src/pest/generator/src/lib.rs:80,1
    - Dst: Self::join
      Src: /src/pest/generator/src/lib.rs:80,1
    - Dst: Path::new
      Src: /src/pest/generator/src/lib.rs:82,1
    - Dst: Self::join
      Src: /src/pest/generator/src/lib.rs:82,1
    - Dst: join
      Src: /src/pest/generator/src/lib.rs:82,1
    - Dst: Error::file_name
      Src: /src/pest/generator/src/lib.rs:85,1
    - Dst: read_file
      Src: /src/pest/generator/src/lib.rs:90,1
    - Dst: Some
      Src: /src/pest/generator/src/lib.rs:94,1
    - Dst: Error::clone
      Src: /src/pest/generator/src/lib.rs:94,1
    - Dst: Self::push_str
      Src: /src/pest/generator/src/lib.rs:99,1
    - Dst: push
      Src: /src/pest/generator/src/lib.rs:101,1
    - Dst: parser::parse
      Src: /src/pest/generator/src/lib.rs:106,1
    - Dst: pest_meta::unwrap_or_report
      Src: /src/pest/generator/src/lib.rs:111,1
    - Dst: validator::validate_pairs
      Src: /src/pest/generator/src/lib.rs:111,1
    - Dst: Result::clone
      Src: /src/pest/generator/src/lib.rs:111,1
    - Dst: docs::consume
      Src: /src/pest/generator/src/lib.rs:112,1
    - Dst: Result::clone
      Src: /src/pest/generator/src/lib.rs:112,1
    - Dst: pest_meta::unwrap_or_report
      Src: /src/pest/generator/src/lib.rs:113,1
    - Dst: parser::consume_rules
      Src: /src/pest/generator/src/lib.rs:113,1
    - Dst: optimizer::optimize
      Src: /src/pest/generator/src/lib.rs:114,1
    - Dst: generator::generate
      Src: /src/pest/generator/src/lib.rs:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 2
    argNames:
    - input
    - include_grammar
    argTypes:
    - TokenStream
    - bool
    constantsTouched: []
    func_position:
      end: 124
      start: 58
    functionDepth: 17
    functionLinenumber: 58
    functionLinenumberEnd: 124
    functionName: derive_parser
    functionSourceFile: /src/pest/generator/src/lib.rs
    functionUses: 1
    functionsReached:
    - parser::parse
    - join
    - Self::push_str
    - String::new
    - push
    - Self::join
    - Result::clone
    - Some
    - unwrap
    - Error::clone
    - optimizer::optimize
    - Error::file_name
    - validator::validate_pairs
    - unwrap_or_else
    - parse_derive::parse_derive
    - read_file
    - generator::generate
    - env::var
    - exists
    - syn::parse2
    - docs::consume
    - Path::new
    - parser::consume_rules
    - '&str::into'
    - pest_meta::unwrap_or_report
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn derive_parser(input: TokenStream, include_grammar: bool) ->
      TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&PrattParser<Rule>::map_primary'
      Src: /src/pest/derive/examples/calc.rs:19,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/derive/examples/calc.rs:20,1
    - Dst: ParseResult::as_str
      Src: /src/pest/derive/examples/calc.rs:21,1
    - Dst: '&''a str::to_owned'
      Src: /src/pest/derive/examples/calc.rs:21,1
    - Dst: parse_to_str
      Src: /src/pest/derive/examples/calc.rs:22,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/derive/examples/calc.rs:22,1
    - Dst: PrattParserMap::map_prefix
      Src: /src/pest/derive/examples/calc.rs:19,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:25,1
    - Dst: Self::map_postfix
      Src: /src/pest/derive/examples/calc.rs:19,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:29,1
    - Dst: Self::map_infix
      Src: /src/pest/derive/examples/calc.rs:19,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:33,1
    - Dst: Self::parse
      Src: /src/pest/derive/examples/calc.rs:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - pairs
    - pratt
    argTypes:
    - Pairs<Rule>
    - '&PrattParser<Rule>'
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: parse_to_str
    functionSourceFile: /src/pest/derive/examples/calc.rs
    functionUses: 1
    functionsReached:
    - '&''a str::to_owned'
    - PrattParserMap::map_prefix
    - ParseResult::into_inner
    - '&PrattParser<Rule>::map_primary'
    - ParseResult::as_str
    - Self::map_postfix
    - Self::map_infix
    - Self::parse
    - parse_to_str
    - as_rule
    - ParseResult::as_rule
    linkageType: ''
    returnType: String
    signature: 'fn parse_to_str(pairs: Pairs<Rule>, pratt: &PrattParser<Rule>) ->
      String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&PrattParser<Rule>::map_primary'
      Src: /src/pest/derive/examples/calc.rs:45,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/derive/examples/calc.rs:46,1
    - Dst: ParseResult::as_str
      Src: /src/pest/derive/examples/calc.rs:47,1
    - Dst: '&''a str::parse'
      Src: /src/pest/derive/examples/calc.rs:47,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/derive/examples/calc.rs:47,1
    - Dst: parse_to_i32
      Src: /src/pest/derive/examples/calc.rs:48,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/derive/examples/calc.rs:48,1
    - Dst: PrattParserMap::map_prefix
      Src: /src/pest/derive/examples/calc.rs:45,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:51,1
    - Dst: Self::map_postfix
      Src: /src/pest/derive/examples/calc.rs:45,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:55,1
    - Dst: product
      Src: /src/pest/derive/examples/calc.rs:56,1
    - Dst: Self::map_infix
      Src: /src/pest/derive/examples/calc.rs:45,1
    - Dst: as_rule
      Src: /src/pest/derive/examples/calc.rs:59,1
    - Dst: map
      Src: /src/pest/derive/examples/calc.rs:64,1
    - Dst: product
      Src: /src/pest/derive/examples/calc.rs:64,1
    - Dst: Self::parse
      Src: /src/pest/derive/examples/calc.rs:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 2
    argNames:
    - pairs
    - pratt
    argTypes:
    - Pairs<Rule>
    - '&PrattParser<Rule>'
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 17
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: parse_to_i32
    functionSourceFile: /src/pest/derive/examples/calc.rs
    functionUses: 1
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - ParseResult::into_inner
    - PrattParserMap::map_prefix
    - '&PrattParser<Rule>::map_primary'
    - ParseResult::as_str
    - Self::map_postfix
    - Self::map_infix
    - Self::parse
    - '&''a str::parse'
    - parse_to_i32
    - product
    - as_rule
    - ParseResult::as_rule
    - map
    linkageType: ''
    returnType: i128
    signature: 'fn parse_to_i32(pairs: Pairs<Rule>, pratt: &PrattParser<Rule>) ->
      i128'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 14
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: boolean
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn boolean()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 14
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: integer
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 1
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn integer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 14
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: partial_time
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn partial_time()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 14
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: full_date
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn full_date()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 14
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: local_date_time
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn local_date_time()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 14
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: date_time
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn date_time()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 14
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: literal
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 2
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn literal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 14
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: multi_line_literal
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn multi_line_literal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 14
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: multi_line_string
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn multi_line_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 14
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: inline_table
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn inline_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 14
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: table
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/toml.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 14
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: array_table
    functionSourceFile: /src/pest/grammars/tests/toml.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn array_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: examples
    functionSourceFile: /src/pest/grammars/tests/http.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn examples()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/http.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 14
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: method
    functionSourceFile: /src/pest/grammars/tests/http.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn method()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/http.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 14
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: uri
    functionSourceFile: /src/pest/grammars/tests/http.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn uri()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/http.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 14
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: version
    functionSourceFile: /src/pest/grammars/tests/http.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parses_to
      Src: /src/pest/grammars/tests/http.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 14
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: header
    functionSourceFile: /src/pest/grammars/tests/http.rs
    functionUses: 0
    functionsReached:
    - parses_to
    linkageType: ''
    returnType: void
    signature: fn header()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: sql_simple_select
    functionSourceFile: /src/pest/grammars/tests/sql.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn sql_simple_select()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: sql_create_user
    functionSourceFile: /src/pest/grammars/tests/sql.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn sql_create_user()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 118
    functionName: sql_insert_from_select
    functionSourceFile: /src/pest/grammars/tests/sql.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn sql_insert_from_select()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JsonParser::parse
      Src: /src/pest/grammars/tests/json.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 15
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: test_json_parse
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - JsonParser::parse
    linkageType: ''
    returnType: void
    signature: fn test_json_parse()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JsonParser::parse
      Src: /src/pest/grammars/tests/json.rs:172,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/tests/json.rs:172,1
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:176,1
    - Dst: Result::clone
      Src: /src/pest/grammars/tests/json.rs:177,1
    - Dst: FlatPairs::flatten
      Src: /src/pest/grammars/tests/json.rs:177,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:178,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/grammars/tests/json.rs:178,1
    - Dst: Pairs::count
      Src: /src/pest/grammars/tests/json.rs:179,1
    - Dst: ParseResult::as_span
      Src: /src/pest/grammars/tests/json.rs:180,1
    - Dst: push_str
      Src: /src/pest/grammars/tests/json.rs:181,1
    - Dst: build_line_col
      Src: /src/pest/grammars/tests/json.rs:181,1
    - Dst: LinesSpan::start_pos
      Src: /src/pest/grammars/tests/json.rs:181,1
    - Dst: position::Position::line_col
      Src: /src/pest/grammars/tests/json.rs:181,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/grammars/tests/json.rs:181,1
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:187,1
    - Dst: Result::clone
      Src: /src/pest/grammars/tests/json.rs:188,1
    - Dst: push_str
      Src: /src/pest/grammars/tests/json.rs:189,1
    - Dst: build_result_for_pair
      Src: /src/pest/grammars/tests/json.rs:189,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:189,1
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:194,1
    - Dst: Result::clone
      Src: /src/pest/grammars/tests/json.rs:195,1
    - Dst: FlatPairs::rev
      Src: /src/pest/grammars/tests/json.rs:195,1
    - Dst: insert_str
      Src: /src/pest/grammars/tests/json.rs:196,1
    - Dst: build_result_for_pair
      Src: /src/pest/grammars/tests/json.rs:196,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:196,1
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:201,1
    - Dst: Result::clone
      Src: /src/pest/grammars/tests/json.rs:202,1
    - Dst: FlatPairs::flatten
      Src: /src/pest/grammars/tests/json.rs:202,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:203,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/grammars/tests/json.rs:203,1
    - Dst: Pairs::count
      Src: /src/pest/grammars/tests/json.rs:204,1
    - Dst: ParseResult::as_span
      Src: /src/pest/grammars/tests/json.rs:205,1
    - Dst: push_str
      Src: /src/pest/grammars/tests/json.rs:206,1
    - Dst: build_line_col
      Src: /src/pest/grammars/tests/json.rs:206,1
    - Dst: ParseResult::line_col
      Src: /src/pest/grammars/tests/json.rs:206,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/grammars/tests/json.rs:206,1
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:212,1
    - Dst: Result::clone
      Src: /src/pest/grammars/tests/json.rs:213,1
    - Dst: FlatPairs::flatten
      Src: /src/pest/grammars/tests/json.rs:213,1
    - Dst: FlatPairs::rev
      Src: /src/pest/grammars/tests/json.rs:213,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:214,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/grammars/tests/json.rs:214,1
    - Dst: Pairs::count
      Src: /src/pest/grammars/tests/json.rs:215,1
    - Dst: ParseResult::as_span
      Src: /src/pest/grammars/tests/json.rs:216,1
    - Dst: insert_str
      Src: /src/pest/grammars/tests/json.rs:217,1
    - Dst: build_line_col
      Src: /src/pest/grammars/tests/json.rs:217,1
    - Dst: ParseResult::line_col
      Src: /src/pest/grammars/tests/json.rs:217,1
    - Dst: LinesSpan::as_str
      Src: /src/pest/grammars/tests/json.rs:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 170
    functionDepth: 15
    functionLinenumber: 170
    functionLinenumberEnd: 221
    functionName: test_line_col
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 0
    functionsReached:
    - ParseResult::clone
    - FlatPairs::into_inner
    - ParseResult::line_col
    - Result::unwrap
    - Pairs::count
    - ParseResult::as_span
    - push_str
    - LinesSpan::as_str
    - FlatPairs::flatten
    - build_result_for_pair
    - insert_str
    - String::new
    - FlatPairs::rev
    - build_line_col
    - LinesSpan::start_pos
    - JsonParser::parse
    - position::Position::line_col
    - Result::clone
    linkageType: ''
    returnType: void
    signature: fn test_line_col()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - line_col
    - str
    argTypes:
    - (usize, usize)
    - '&str'
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: build_line_col
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn build_line_col(line_col: (usize, usize), str: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/pest/grammars/tests/json.rs:233,1
    - Dst: ParseResult::clone
      Src: /src/pest/grammars/tests/json.rs:235,1
    - Dst: FlatPairs::into_inner
      Src: /src/pest/grammars/tests/json.rs:235,1
    - Dst: Pairs::clone
      Src: /src/pest/grammars/tests/json.rs:237,1
    - Dst: FlatPairs::count
      Src: /src/pest/grammars/tests/json.rs:237,1
    - Dst: push_str
      Src: /src/pest/grammars/tests/json.rs:238,1
    - Dst: build_line_col
      Src: /src/pest/grammars/tests/json.rs:238,1
    - Dst: ParseResult::line_col
      Src: /src/pest/grammars/tests/json.rs:238,1
    - Dst: ParseResult::as_str
      Src: /src/pest/grammars/tests/json.rs:238,1
    - Dst: push_str
      Src: /src/pest/grammars/tests/json.rs:241,1
    - Dst: build_result_for_pair
      Src: /src/pest/grammars/tests/json.rs:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - pair
    argTypes:
    - pest::iterators::Pair<Rule>
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 16
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: build_result_for_pair
    functionSourceFile: /src/pest/grammars/tests/json.rs
    functionUses: 2
    functionsReached:
    - ParseResult::clone
    - FlatPairs::into_inner
    - ParseResult::line_col
    - ParseResult::as_str
    - push_str
    - build_result_for_pair
    - Pairs::clone
    - String::new
    - FlatPairs::count
    - build_line_col
    linkageType: ''
    returnType: String
    signature: 'fn build_result_for_pair(pair: pest::iterators::Pair<Rule>) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::set_call_limit
      Src: /src/pest/grammars/src/lib.rs:79,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:79,1
    - Dst: try_into
      Src: /src/pest/grammars/src/lib.rs:79,1
    - Dst: unwrap
      Src: /src/pest/grammars/src/lib.rs:79,1
    - Dst: toml::TomlParser::parse
      Src: /src/pest/grammars/src/lib.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 18
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: tests::test_toml_deep_nesting
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - unwrap
    - toml::TomlParser::parse
    - pest::set_call_limit
    - try_into
    linkageType: ''
    returnType: void
    signature: 'fn test_toml_deep_nesting(input: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_toml_deep_nesting
      Src: /src/pest/grammars/src/lib.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 19
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: tests::toml_handles_deep_nesting
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - test_toml_deep_nesting
    linkageType: ''
    returnType: void
    signature: fn toml_handles_deep_nesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_toml_deep_nesting
      Src: /src/pest/grammars/src/lib.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 19
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: tests::toml_handles_deep_nesting_unstable
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - test_toml_deep_nesting
    linkageType: ''
    returnType: void
    signature: fn toml_handles_deep_nesting_unstable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::set_call_limit
      Src: /src/pest/grammars/src/lib.rs:115,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:115,1
    - Dst: try_into
      Src: /src/pest/grammars/src/lib.rs:115,1
    - Dst: unwrap
      Src: /src/pest/grammars/src/lib.rs:115,1
    - Dst: json::JsonParser::parse
      Src: /src/pest/grammars/src/lib.rs:116,1
    - Dst: json::JsonParser::parse
      Src: /src/pest/grammars/src/lib.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 18
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: tests::json_handles_deep_nesting
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - unwrap
    - pest::set_call_limit
    - json::JsonParser::parse
    - try_into
    linkageType: ''
    returnType: void
    signature: fn json_handles_deep_nesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_primary
      Src: /src/pest/grammars/src/lib.rs:200,1
    - Dst: ParseResult::as_rule
      Src: /src/pest/grammars/src/lib.rs:201,1
    - Dst: parse_expr
      Src: /src/pest/grammars/src/lib.rs:202,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/grammars/src/lib.rs:202,1
    - Dst: ParseResult::as_str
      Src: /src/pest/grammars/src/lib.rs:205,1
    - Dst: as_str().parse::<u64>
      Src: /src/pest/grammars/src/lib.rs:205,1
    - Dst: unwrap
      Src: /src/pest/grammars/src/lib.rs:205,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:206,1
    - Dst: ParseResult::as_str
      Src: /src/pest/grammars/src/lib.rs:209,1
    - Dst: as_str().parse::<bool>
      Src: /src/pest/grammars/src/lib.rs:209,1
    - Dst: unwrap
      Src: /src/pest/grammars/src/lib.rs:209,1
    - Dst: Expr::BoolConst
      Src: /src/pest/grammars/src/lib.rs:210,1
    - Dst: map_infix
      Src: /src/pest/grammars/src/lib.rs:200,1
    - Dst: as_rule
      Src: /src/pest/grammars/src/lib.rs:215,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:216,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:217,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:218,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:219,1
    - Dst: InfixOp::ArithInfix
      Src: /src/pest/grammars/src/lib.rs:220,1
    - Dst: InfixOp::ArithInfix
      Src: /src/pest/grammars/src/lib.rs:221,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:227,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:229,1
    - Dst: map_prefix
      Src: /src/pest/grammars/src/lib.rs:200,1
    - Dst: as_rule
      Src: /src/pest/grammars/src/lib.rs:232,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:234,1
    - Dst: map_postfix
      Src: /src/pest/grammars/src/lib.rs:200,1
    - Dst: as_rule
      Src: /src/pest/grammars/src/lib.rs:238,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:240,1
    - Dst: parse
      Src: /src/pest/grammars/src/lib.rs:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 1
    argNames:
    - expression_pairs
    argTypes:
    - Pairs<'_, sql::Rule>
    constantsTouched: []
    func_position:
      end: 245
      start: 199
    functionDepth: 17
    functionLinenumber: 199
    functionLinenumberEnd: 245
    functionName: t::e::s::t::s::::::::s::q::l::_::c::h::e::c::k::_::e::x::p::r::e::s::s::i::o::n::s::_::p::r::i::o::r::i::t::i::e::s::parse_expr
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - map_infix
    - ParseResult::into_inner
    - map_primary
    - Expr::ArithValue
    - ParseResult::as_str
    - map_postfix
    - map_prefix
    - as_str().parse::<bool>
    - unwrap
    - parse
    - InfixOp::ArithInfix
    - Expr::BoolConst
    - parse_expr
    - Box::new
    - as_rule
    - ParseResult::as_rule
    - as_str().parse::<u64>
    - InfixOp::BoolInfix
    linkageType: ''
    returnType: Expr
    signature: 'fn parse_expr(expression_pairs: Pairs<''_, sql::Rule>) -> Expr'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sql::SqlParser::parse
      Src: /src/pest/grammars/src/lib.rs:198,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/grammars/src/lib.rs:198,1
    - Dst: parse_expr
      Src: /src/pest/grammars/src/lib.rs:247,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:249,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:250,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:251,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:252,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:253,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:253,1
    - Dst: InfixOp::ArithInfix
      Src: /src/pest/grammars/src/lib.rs:254,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:255,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:256,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:256,1
    - Dst: InfixOp::ArithInfix
      Src: /src/pest/grammars/src/lib.rs:257,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:258,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:258,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:261,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:262,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:262,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:265,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:266,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:267,1
    - Dst: Expr::BoolConst
      Src: /src/pest/grammars/src/lib.rs:267,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:269,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:270,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:271,1
    - Dst: Expr::ArithValue
      Src: /src/pest/grammars/src/lib.rs:271,1
    - Dst: InfixOp::BoolInfix
      Src: /src/pest/grammars/src/lib.rs:272,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 125
    functionDepth: 17
    functionLinenumber: 125
    functionLinenumberEnd: 278
    functionName: tests::sql_check_expressions_priorities
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - ':: std :: result :: Result ::unwrap'
    - Expr::ArithValue
    - InfixOp::ArithInfix
    - Expr::BoolConst
    - sql::SqlParser::parse
    - parse_expr
    - Box::new
    - InfixOp::BoolInfix
    linkageType: ''
    returnType: void
    signature: fn sql_check_expressions_priorities()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/pest/grammars/src/lib.rs:286,1
    - Dst: chars
      Src: /src/pest/grammars/src/lib.rs:286,1
    - Dst: next
      Src: /src/pest/grammars/src/lib.rs:286,1
    - Dst: unwrap
      Src: /src/pest/grammars/src/lib.rs:286,1
    - Dst: is_whitespace
      Src: /src/pest/grammars/src/lib.rs:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 15
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: t::e::s::t::s::::::::s::q::l::_::p::a::r::s::e::_::a::t::t::e::m::p::t::s::_::e::r::r::o::r::is_whitespace
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - chars
    - unwrap
    - next
    - len
    - is_whitespace
    linkageType: ''
    returnType: bool
    signature: 'fn is_whitespace(string: String) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:291,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:291,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:292,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:292,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:295,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:295,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:297,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:297,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:299,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:299,1
    - Dst: Some
      Src: /src/pest/grammars/src/lib.rs:300,1
    - Dst: String::from
      Src: /src/pest/grammars/src/lib.rs:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&sql::Rule'
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: t::e::s::t::s::::::::s::q::l::_::p::a::r::s::e::_::a::t::t::e::m::p::t::s::_::e::r::r::o::r::rule_to_message
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - String::from
    linkageType: ''
    returnType: Option
    signature: 'fn rule_to_message(r: &sql::Rule) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pest::set_error_detail
      Src: /src/pest/grammars/src/lib.rs:282,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:308,1
    - Dst: Box::new
      Src: /src/pest/grammars/src/lib.rs:309,1
    - Dst: sql::SqlParser::parse
      Src: /src/pest/grammars/src/lib.rs:312,1
    - Dst: ':: std :: result :: Result ::unwrap_err'
      Src: /src/pest/grammars/src/lib.rs:312,1
    - Dst: ':: std :: result :: Result ::parse_attempts_error'
      Src: /src/pest/grammars/src/lib.rs:313,1
    - Dst: Option::unwrap
      Src: /src/pest/grammars/src/lib.rs:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 372
    functionName: tests::sql_parse_attempts_error
    functionSourceFile: /src/pest/grammars/src/lib.rs
    functionUses: 0
    functionsReached:
    - pest::set_error_detail
    - ':: std :: result :: Result ::unwrap_err'
    - ':: std :: result :: Result ::parse_attempts_error'
    - sql::SqlParser::parse
    - Box::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn sql_parse_attempts_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::str::from_utf8
      Src: /src/pest/grammars/fuzz/fuzz_targets/http.rs:5,1
    - Dst: http::HttpParser::parse
      Src: /src/pest/grammars/fuzz/fuzz_targets/http.rs:6,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: fuzz_target
    functionSourceFile: /src/pest/grammars/fuzz/fuzz_targets/http.rs
    functionUses: 0
    functionsReached:
    - http::HttpParser::parse
    - std::str::from_utf8
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/pest/grammars/benches/http.rs:11,1
    - Dst: unwrap
      Src: /src/pest/grammars/benches/http.rs:11,1
    - Dst: String::new
      Src: /src/pest/grammars/benches/http.rs:12,1
    - Dst: read_to_string
      Src: /src/pest/grammars/benches/http.rs:14,1
    - Dst: unwrap
      Src: /src/pest/grammars/benches/http.rs:14,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/http.rs:16,1
    - Dst: iter
      Src: /src/pest/grammars/benches/http.rs:17,1
    - Dst: HttpParser::parse
      Src: /src/pest/grammars/benches/http.rs:17,1
    - Dst: ':: std :: result :: Result ::unwrap'
      Src: /src/pest/grammars/benches/http.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 16
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: criterion_benchmark
    functionSourceFile: /src/pest/grammars/benches/http.rs
    functionUses: 0
    functionsReached:
    - HttpParser::parse
    - ':: std :: result :: Result ::unwrap'
    - File::open
    - unwrap
    - String::new
    - iter
    - read_to_string
    - bench_function
    linkageType: ''
    returnType: void
    signature: 'fn criterion_benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:23,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:24,1
    - Dst: JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:24,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 16
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: bench_json_parse
    functionSourceFile: /src/pest/grammars/benches/json.rs
    functionUses: 0
    functionsReached:
    - iter
    - JsonParser::parse
    - bench_function
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn bench_json_parse(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: autocorrect::JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:64,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:64,1
    - Dst: flatten
      Src: /src/pest/grammars/benches/json.rs:64,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:68,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:69,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:70,1
    - Dst: Result::next
      Src: /src/pest/grammars/benches/json.rs:72,1
    - Dst: Option::unwrap
      Src: /src/pest/grammars/benches/json.rs:72,1
    - Dst: line_col
      Src: /src/pest/grammars/benches/json.rs:72,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:77,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:78,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:79,1
    - Dst: Result::next
      Src: /src/pest/grammars/benches/json.rs:81,1
    - Dst: Option::unwrap
      Src: /src/pest/grammars/benches/json.rs:81,1
    - Dst: as_span
      Src: /src/pest/grammars/benches/json.rs:81,1
    - Dst: start_pos
      Src: /src/pest/grammars/benches/json.rs:81,1
    - Dst: line_col
      Src: /src/pest/grammars/benches/json.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 15
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: bench_line_col
    functionSourceFile: /src/pest/grammars/benches/json.rs
    functionUses: 0
    functionsReached:
    - start_pos
    - Result::clone
    - autocorrect::JsonParser::parse
    - iter
    - as_span
    - Result::next
    - line_col
    - flatten
    - bench_function
    - Option::unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn bench_line_col(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_all_pairs
      Src: /src/pest/grammars/benches/json.rs:100,1
    - Dst: ParseResult::into_inner
      Src: /src/pest/grammars/benches/json.rs:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - pest::iterators::Pairs<autocorrect::Rule>
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs
    functionSourceFile: /src/pest/grammars/benches/json.rs
    functionUses: 0
    functionsReached:
    - iter_all_pairs
    - ParseResult::into_inner
    linkageType: ''
    returnType: void
    signature: 'fn iter_all_pairs(pairs: pest::iterators::Pairs<autocorrect::Rule>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:104,1
    - Dst: autocorrect::JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:105,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:105,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:106,1
    - Dst: iter_all_pairs
      Src: /src/pest/grammars/benches/json.rs:106,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:106,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:109,1
    - Dst: autocorrect::JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:110,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:110,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:112,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:113,1
    - Dst: FlatPairs::flatten
      Src: /src/pest/grammars/benches/json.rs:113,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:119,1
    - Dst: autocorrect::JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:120,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:120,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:122,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:123,1
    - Dst: clone().collect::<Vec<_>>
      Src: /src/pest/grammars/benches/json.rs:123,1
    - Dst: bench_function
      Src: /src/pest/grammars/benches/json.rs:127,1
    - Dst: autocorrect::JsonParser::parse
      Src: /src/pest/grammars/benches/json.rs:128,1
    - Dst: Result::unwrap
      Src: /src/pest/grammars/benches/json.rs:128,1
    - Dst: iter
      Src: /src/pest/grammars/benches/json.rs:130,1
    - Dst: Result::clone
      Src: /src/pest/grammars/benches/json.rs:131,1
    - Dst: FlatPairs::flatten
      Src: /src/pest/grammars/benches/json.rs:131,1
    - Dst: clone().flatten().collect::<Vec<_>>
      Src: /src/pest/grammars/benches/json.rs:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 134
      start: 95
    functionDepth: 15
    functionLinenumber: 95
    functionLinenumberEnd: 134
    functionName: bench_pairs_iter
    functionSourceFile: /src/pest/grammars/benches/json.rs
    functionUses: 0
    functionsReached:
    - clone().flatten().collect::<Vec<_>>
    - Result::clone
    - clone().collect::<Vec<_>>
    - iter_all_pairs
    - FlatPairs::flatten
    - autocorrect::JsonParser::parse
    - iter
    - bench_function
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn bench_pairs_iter(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/pest/debugger/src/lib.rs:143,1
    - Dst: String::new
      Src: /src/pest/debugger/src/lib.rs:145,1
    - Dst: read_to_string
      Src: /src/pest/debugger/src/lib.rs:146,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - impl AsRef<Path>
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: DebuggerContext::file_to_string
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - File::open
    - Ok
    - read_to_string
    - String::new
    linkageType: ''
    returnType: Result
    signature: 'fn file_to_string(path: impl AsRef<Path>) -> Result<String, DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::file_to_string
      Src: /src/pest/debugger/src/lib.rs:153,1
    - Dst: Error::as_ref
      Src: /src/pest/debugger/src/lib.rs:155,1
    - Dst: file_name
      Src: /src/pest/debugger/src/lib.rs:155,1
    - Dst: map
      Src: /src/pest/debugger/src/lib.rs:155,1
    - Dst: to_string_lossy
      Src: /src/pest/debugger/src/lib.rs:158,1
    - Dst: into_owned
      Src: /src/pest/debugger/src/lib.rs:158,1
    - Dst: ok_or
      Src: /src/pest/debugger/src/lib.rs:155,1
    - Dst: Some
      Src: /src/pest/debugger/src/lib.rs:161,1
    - Dst: DebuggerContext::parse_grammar
      Src: /src/pest/debugger/src/lib.rs:161,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - path
    argTypes:
    - impl AsRef<Path>
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 17
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: DebuggerContext::load_grammar
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - ok_or
    - to_string_lossy
    - file_name
    - Error::as_ref
    - DebuggerContext::parse_grammar
    - DebuggerContext::file_to_string
    - into_owned
    - Ok
    - map
    linkageType: ''
    returnType: Result
    signature: 'pub fn load_grammar(&mut self, path: impl AsRef<Path>) -> Result<(),
      DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/debugger/src/lib.rs:172,1
    - Dst: DebuggerContext::parse_grammar
      Src: /src/pest/debugger/src/lib.rs:172,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - grammar_name
    - grammar
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 20
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: DebuggerContext::load_grammar_direct
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Some
    - DebuggerContext::parse_grammar
    linkageType: ''
    returnType: Result
    signature: 'pub fn load_grammar_direct(&mut self,grammar_name: &str,grammar: &str,)
      -> Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::file_to_string
      Src: /src/pest/debugger/src/lib.rs:179,1
    - Dst: Some
      Src: /src/pest/debugger/src/lib.rs:181,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - impl AsRef<Path>
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: DebuggerContext::load_input
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - DebuggerContext::file_to_string
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn load_input(&mut self, path: impl AsRef<Path>) -> Result<(),
      DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/pest/debugger/src/lib.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: DebuggerContext::load_input_direct
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn load_input_direct(&mut self, input: String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/pest/debugger/src/lib.rs:195,1
    - Dst: ok_or
      Src: /src/pest/debugger/src/lib.rs:195,1
    - Dst: lock
      Src: /src/pest/debugger/src/lib.rs:199,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:199,1
    - Dst: Result::insert
      Src: /src/pest/debugger/src/lib.rs:201,1
    - Dst: clone
      Src: /src/pest/debugger/src/lib.rs:201,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: DebuggerContext::add_all_rules_breakpoints
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 1
    functionsReached:
    - ok_or
    - expect
    - lock
    - as_ref
    - Result::insert
    - clone
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn add_all_rules_breakpoints(&mut self) -> Result<(), DebuggerError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/pest/debugger/src/lib.rs:209,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:209,1
    - Dst: Result::insert
      Src: /src/pest/debugger/src/lib.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rule
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: DebuggerContext::add_breakpoint
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - lock
    - Result::insert
    - expect
    linkageType: ''
    returnType: void
    signature: 'pub fn add_breakpoint(&mut self, rule: String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/pest/debugger/src/lib.rs:216,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:216,1
    - Dst: Result::remove
      Src: /src/pest/debugger/src/lib.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rule
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: DebuggerContext::delete_breakpoint
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 1
    functionsReached:
    - lock
    - Result::remove
    - expect
    linkageType: ''
    returnType: void
    signature: 'pub fn delete_breakpoint(&mut self, rule: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/pest/debugger/src/lib.rs:223,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:223,1
    - Dst: Result::clear
      Src: /src/pest/debugger/src/lib.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 14
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: DebuggerContext::delete_all_breakpoints
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 1
    functionsReached:
    - lock
    - Result::clear
    - expect
    linkageType: ''
    returnType: void
    signature: pub fn delete_all_breakpoints(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/pest/debugger/src/lib.rs:230,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:230,1
    - Dst: Result::iter
      Src: /src/pest/debugger/src/lib.rs:231,1
    - Dst: map
      Src: /src/pest/debugger/src/lib.rs:231,1
    - Dst: HashMap::collect
      Src: /src/pest/debugger/src/lib.rs:231,1
    - Dst: Result::sort
      Src: /src/pest/debugger/src/lib.rs:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 16
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: DebuggerContext::list_breakpoints
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - lock
    - Result::sort
    - Result::iter
    - map
    - HashMap::collect
    linkageType: ''
    returnType: Vec
    signature: pub fn list_breakpoints(&self) -> Vec<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::clone
      Src: /src/pest/debugger/src/lib.rs:243,1
    - Dst: Arc::clone
      Src: /src/pest/debugger/src/lib.rs:244,1
    - Dst: Arc::clone
      Src: /src/pest/debugger/src/lib.rs:245,1
    - Dst: Sender<DebuggerEvent>::clone
      Src: /src/pest/debugger/src/lib.rs:247,1
    - Dst: thread::spawn
      Src: /src/pest/debugger/src/lib.rs:248,1
    - Dst: Vm::new_with_listener
      Src: /src/pest/debugger/src/lib.rs:249,1
    - Dst: Box::new
      Src: /src/pest/debugger/src/lib.rs:251,1
    - Dst: FlatPairs::load
      Src: /src/pest/debugger/src/lib.rs:252,1
    - Dst: Result::lock
      Src: /src/pest/debugger/src/lib.rs:257,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:257,1
    - Dst: contains
      Src: /src/pest/debugger/src/lib.rs:258,1
    - Dst: FlatPairs::send
      Src: /src/pest/debugger/src/lib.rs:262,1
    - Dst: DebuggerEvent::Breakpoint
      Src: /src/pest/debugger/src/lib.rs:263,1
    - Dst: pos
      Src: /src/pest/debugger/src/lib.rs:263,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:262,1
    - Dst: thread::park
      Src: /src/pest/debugger/src/lib.rs:266,1
    - Dst: Vm::parse
      Src: /src/pest/debugger/src/lib.rs:272,1
    - Dst: Sender<DebuggerEvent>::send
      Src: /src/pest/debugger/src/lib.rs:273,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:273,1
    - Dst: Sender<DebuggerEvent>::send
      Src: /src/pest/debugger/src/lib.rs:274,1
    - Dst: DebuggerEvent::Error
      Src: /src/pest/debugger/src/lib.rs:275,1
    - Dst: Option::to_string
      Src: /src/pest/debugger/src/lib.rs:275,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:274,1
    - Dst: FlatPairs::store
      Src: /src/pest/debugger/src/lib.rs:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 4
    argNames:
    - ast
    - rule
    - input
    - sender
    argTypes:
    - Vec<OptimizedRule>
    - String
    - String
    - Sender<DebuggerEvent>
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 18
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: DebuggerContext::handle
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 1
    functionsReached:
    - DebuggerEvent::Breakpoint
    - pos
    - thread::park
    - Arc::clone
    - Sender<DebuggerEvent>::send
    - DebuggerEvent::Error
    - Result::lock
    - FlatPairs::load
    - FlatPairs::send
    - Vm::parse
    - Vm::new_with_listener
    - expect
    - Option::to_string
    - FlatPairs::store
    - Sender<DebuggerEvent>::clone
    - Box::new
    - contains
    - thread::spawn
    linkageType: ''
    returnType: JoinHandle
    signature: 'fn handle(&self,ast: Vec<OptimizedRule>,rule: String,input: String,sender:
      Sender<DebuggerEvent>,) -> JoinHandle<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_and_optimize
      Src: /src/pest/debugger/src/lib.rs:284,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:285,1
    - Dst: Err
      Src: /src/pest/debugger/src/lib.rs:297,1
    - Dst: DebuggerError::IncorrectGrammar
      Src: /src/pest/debugger/src/lib.rs:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file_name
    - grammar
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 19
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: DebuggerContext::parse_grammar
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - Err
    - Ok
    - parse_and_optimize
    - DebuggerError::IncorrectGrammar
    linkageType: ''
    returnType: Result
    signature: 'fn parse_grammar(file_name: &str, grammar: &str) -> Result<Vec<OptimizedRule>,
      DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/pest/debugger/src/lib.rs:307,1
    - Dst: load
      Src: /src/pest/debugger/src/lib.rs:308,1
    - Dst: store
      Src: /src/pest/debugger/src/lib.rs:309,1
    - Dst: JoinHandle::thread
      Src: /src/pest/debugger/src/lib.rs:310,1
    - Dst: unpark
      Src: /src/pest/debugger/src/lib.rs:310,1
    - Dst: JoinHandle::join
      Src: /src/pest/debugger/src/lib.rs:312,1
    - Dst: map_err
      Src: /src/pest/debugger/src/lib.rs:312,1
    - Dst: DebuggerError::PreviousRunPanic
      Src: /src/pest/debugger/src/lib.rs:314,1
    - Dst: store
      Src: /src/pest/debugger/src/lib.rs:317,1
    - Dst: as_ref
      Src: /src/pest/debugger/src/lib.rs:318,1
    - Dst: ok_or
      Src: /src/pest/debugger/src/lib.rs:318,1
    - Dst: AstRule::to_owned
      Src: /src/pest/debugger/src/lib.rs:324,1
    - Dst: clone
      Src: /src/pest/debugger/src/lib.rs:325,1
    - Dst: Some
      Src: /src/pest/debugger/src/lib.rs:327,1
    - Dst: DebuggerContext::handle
      Src: /src/pest/debugger/src/lib.rs:327,1
    - Dst: clone
      Src: /src/pest/debugger/src/lib.rs:327,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:328,1
    - Dst: Err
      Src: /src/pest/debugger/src/lib.rs:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 2
    argNames:
    - rule
    - sender
    argTypes:
    - '&str'
    - Sender<DebuggerEvent>
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 19
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: DebuggerContext::run
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 3
    functionsReached:
    - unpark
    - Some
    - AstRule::to_owned
    - ok_or
    - map_err
    - DebuggerContext::handle
    - JoinHandle::thread
    - as_ref
    - JoinHandle::join
    - DebuggerError::PreviousRunPanic
    - clone
    - load
    - Ok
    - Err
    - store
    - take
    linkageType: ''
    returnType: Result
    signature: 'pub fn run(&mut self, rule: &str, sender: Sender<DebuggerEvent>) ->
      Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pest/debugger/src/lib.rs:337,1
    - Dst: Err
      Src: /src/pest/debugger/src/lib.rs:338,1
    - Dst: JoinHandle::thread
      Src: /src/pest/debugger/src/lib.rs:343,1
    - Dst: unpark
      Src: /src/pest/debugger/src/lib.rs:343,1
    - Dst: Ok
      Src: /src/pest/debugger/src/lib.rs:344,1
    - Dst: Err
      Src: /src/pest/debugger/src/lib.rs:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: DebuggerContext::cont
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - unpark
    - JoinHandle::thread
    - Err
    - Ok
    - load
    linkageType: ''
    returnType: Result
    signature: pub fn cont(&self) -> Result<(), DebuggerError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Position::new
      Src: /src/pest/debugger/src/lib.rs:353,1
    - Dst: Option::ok_or
      Src: /src/pest/debugger/src/lib.rs:353,1
    - Dst: DebuggerError::InvalidPosition
      Src: /src/pest/debugger/src/lib.rs:353,1
    - Dst: Err
      Src: /src/pest/debugger/src/lib.rs:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pos
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 18
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: DebuggerContext::get_position
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - Position::new
    - Option::ok_or
    - Err
    - DebuggerError::InvalidPosition
    linkageType: ''
    returnType: Result
    signature: 'pub fn get_position(&self, pos: usize) -> Result<Position<''_>, DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/pest/debugger/src/lib.rs:363,1
    - Dst: AtomicBool::new
      Src: /src/pest/debugger/src/lib.rs:363,1
    - Dst: Arc::new
      Src: /src/pest/debugger/src/lib.rs:366,1
    - Dst: Mutex::new
      Src: /src/pest/debugger/src/lib.rs:366,1
    - Dst: HashSet::new
      Src: /src/pest/debugger/src/lib.rs:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: DebuggerContext::default
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mutex::new
    - HashSet::new
    - AtomicBool::new
    - Arc::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::default
      Src: /src/pest/debugger/src/lib.rs:377,1
    - Dst: DebuggerContext::load_grammar_direct
      Src: /src/pest/debugger/src/lib.rs:379,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:379,1
    - Dst: DebuggerContext::load_input_direct
      Src: /src/pest/debugger/src/lib.rs:390,1
    - Dst: '&str::to_owned'
      Src: /src/pest/debugger/src/lib.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 376
    functionDepth: 21
    functionLinenumber: 376
    functionLinenumberEnd: 392
    functionName: test::get_test_context
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - DebuggerContext::load_grammar_direct
    - DebuggerContext::default
    - '&str::to_owned'
    - Result::expect
    - DebuggerContext::load_input_direct
    linkageType: ''
    returnType: DebuggerContext
    signature: fn get_test_context() -> DebuggerContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_test_context
      Src: /src/pest/debugger/src/lib.rs:396,1
    - Dst: sync_channel
      Src: /src/pest/debugger/src/lib.rs:398,1
    - Dst: DebuggerContext::add_breakpoint
      Src: /src/pest/debugger/src/lib.rs:401,1
    - Dst: '&str::to_owned'
      Src: /src/pest/debugger/src/lib.rs:401,1
    - Dst: DebuggerContext::run
      Src: /src/pest/debugger/src/lib.rs:403,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:403,1
    - Dst: recv
      Src: /src/pest/debugger/src/lib.rs:407,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:407,1
    - Dst: DebuggerContext::cont
      Src: /src/pest/debugger/src/lib.rs:410,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:410,1
    - Dst: recv
      Src: /src/pest/debugger/src/lib.rs:412,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:412,1
    - Dst: DebuggerContext::cont
      Src: /src/pest/debugger/src/lib.rs:414,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:414,1
    - Dst: recv
      Src: /src/pest/debugger/src/lib.rs:415,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:415,1
    - Dst: DebuggerContext::add_all_rules_breakpoints
      Src: /src/pest/debugger/src/lib.rs:418,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:418,1
    - Dst: DebuggerContext::delete_breakpoint
      Src: /src/pest/debugger/src/lib.rs:422,1
    - Dst: DebuggerContext::delete_all_breakpoints
      Src: /src/pest/debugger/src/lib.rs:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 22
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: test::test_full_flow
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - recv
    - DebuggerContext::add_all_rules_breakpoints
    - get_test_context
    - DebuggerContext::add_breakpoint
    - DebuggerContext::delete_all_breakpoints
    - DebuggerContext::run
    - sync_channel
    - expect
    - '&str::to_owned'
    - DebuggerContext::delete_breakpoint
    - Result::expect
    - DebuggerContext::cont
    linkageType: ''
    returnType: void
    signature: fn test_full_flow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_test_context
      Src: /src/pest/debugger/src/lib.rs:430,1
    - Dst: sync_channel
      Src: /src/pest/debugger/src/lib.rs:432,1
    - Dst: DebuggerContext::add_breakpoint
      Src: /src/pest/debugger/src/lib.rs:435,1
    - Dst: '&str::to_owned'
      Src: /src/pest/debugger/src/lib.rs:435,1
    - Dst: DebuggerContext::run
      Src: /src/pest/debugger/src/lib.rs:437,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:437,1
    - Dst: recv
      Src: /src/pest/debugger/src/lib.rs:441,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:441,1
    - Dst: sync_channel
      Src: /src/pest/debugger/src/lib.rs:443,1
    - Dst: DebuggerContext::run
      Src: /src/pest/debugger/src/lib.rs:445,1
    - Dst: Result::expect
      Src: /src/pest/debugger/src/lib.rs:445,1
    - Dst: recv
      Src: /src/pest/debugger/src/lib.rs:448,1
    - Dst: expect
      Src: /src/pest/debugger/src/lib.rs:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 429
    functionDepth: 22
    functionLinenumber: 429
    functionLinenumberEnd: 450
    functionName: test::test_restart
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - recv
    - get_test_context
    - DebuggerContext::add_breakpoint
    - DebuggerContext::run
    - sync_channel
    - expect
    - '&str::to_owned'
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn test_restart()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::default
      Src: /src/pest/debugger/src/lib.rs:454,1
    - Dst: DebuggerContext::load_input_direct
      Src: /src/pest/debugger/src/lib.rs:467,1
    - Dst: '&str::to_owned'
      Src: /src/pest/debugger/src/lib.rs:467,1
    - Dst: sync_channel
      Src: /src/pest/debugger/src/lib.rs:471,1
    - Dst: DebuggerContext::cont
      Src: /src/pest/debugger/src/lib.rs:473,1
    - Dst: Result::is_ok
      Src: /src/pest/debugger/src/lib.rs:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 475
    functionName: test::test_errors
    functionSourceFile: /src/pest/debugger/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::is_ok
    - DebuggerContext::default
    - sync_channel
    - '&str::to_owned'
    - DebuggerContext::cont
    - DebuggerContext::load_input_direct
    linkageType: ''
    returnType: void
    signature: pub fn test_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_grammar
      Src: /src/pest/debugger/src/main.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - PathBuf
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 18
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Cli::grammar
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - load_grammar
    linkageType: ''
    returnType: Result
    signature: 'fn grammar(&mut self, path: PathBuf) -> Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_input
      Src: /src/pest/debugger/src/main.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - PathBuf
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Cli::input
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - load_input
    linkageType: ''
    returnType: Result
    signature: 'fn input(&mut self, path: PathBuf) -> Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_breakpoint
      Src: /src/pest/debugger/src/main.rs:51,1
    - Dst: AstRule::to_owned
      Src: /src/pest/debugger/src/main.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rule
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Cli::breakpoint
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - add_breakpoint
    - AstRule::to_owned
    linkageType: ''
    returnType: void
    signature: 'fn breakpoint(&mut self, rule: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpsc::sync_channel
      Src: /src/pest/debugger/src/main.rs:55,1
    - Dst: run
      Src: /src/pest/debugger/src/main.rs:57,1
    - Dst: T::recv_timeout
      Src: /src/pest/debugger/src/main.rs:58,1
    - Dst: Duration::from_secs
      Src: /src/pest/debugger/src/main.rs:58,1
    - Dst: Error::new_from_pos
      Src: /src/pest/debugger/src/main.rs:60,1
    - Dst: get_position
      Src: /src/pest/debugger/src/main.rs:64,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:72,1
    - Dst: Ok
      Src: /src/pest/debugger/src/main.rs:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - rule
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 20
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: Cli::run
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - run
    - Duration::from_secs
    - Some
    - Error::new_from_pos
    - T::recv_timeout
    - mpsc::sync_channel
    - Ok
    - get_position
    linkageType: ''
    returnType: Result
    signature: 'fn run(&mut self, rule: &str) -> Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cont
      Src: /src/pest/debugger/src/main.rs:77,1
    - Dst: T::recv_timeout
      Src: /src/pest/debugger/src/main.rs:80,1
    - Dst: Duration::from_secs
      Src: /src/pest/debugger/src/main.rs:80,1
    - Dst: Error::new_from_pos
      Src: /src/pest/debugger/src/main.rs:82,1
    - Dst: get_position
      Src: /src/pest/debugger/src/main.rs:86,1
    - Dst: Ok
      Src: /src/pest/debugger/src/main.rs:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 16
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: Cli::cont
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - Duration::from_secs
    - Error::new_from_pos
    - T::recv_timeout
    - Ok
    - get_position
    - cont
    linkageType: ''
    returnType: Result
    signature: fn cont(&mut self) -> Result<(), DebuggerError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_breakpoints
      Src: /src/pest/debugger/src/main.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 17
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Cli::list
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - list_breakpoints
    linkageType: ''
    returnType: void
    signature: fn list(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: Cli::help
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn help()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - command
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Cli::unrecognized
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn unrecognized(command: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::find'
      Src: /src/pest/debugger/src/main.rs:129,1
    - Dst: map
      Src: /src/pest/debugger/src/main.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 17
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Cli::extract_arg
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - map
    - '&str::find'
    linkageType: ''
    returnType: Option
    signature: 'fn extract_arg(cmd: &str) -> Option<&str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::split
      Src: /src/pest/debugger/src/main.rs:133,1
    - Dst: (position::Position::next
      Src: /src/pest/debugger/src/main.rs:133,1
    - Dst: Option::unwrap
      Src: /src/pest/debugger/src/main.rs:133,1
    - Dst: trim
      Src: /src/pest/debugger/src/main.rs:133,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:136,1
    - Dst: Cli::help
      Src: /src/pest/debugger/src/main.rs:136,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:137,1
    - Dst: Cli::list
      Src: /src/pest/debugger/src/main.rs:137,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:138,1
    - Dst: Cli::cont
      Src: /src/pest/debugger/src/main.rs:138,1
    - Dst: add_all_rules_breakpoints
      Src: /src/pest/debugger/src/main.rs:139,1
    - Dst: delete_all_breakpoints
      Src: /src/pest/debugger/src/main.rs:140,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:141,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:142,1
    - Dst: Cli::grammar
      Src: /src/pest/debugger/src/main.rs:144,1
    - Dst: PathBuf::from
      Src: /src/pest/debugger/src/main.rs:144,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:149,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:150,1
    - Dst: Cli::input
      Src: /src/pest/debugger/src/main.rs:152,1
    - Dst: PathBuf::from
      Src: /src/pest/debugger/src/main.rs:152,1
    - Dst: starts_with
      Src: /src/pest/debugger/src/main.rs:157,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:158,1
    - Dst: load_input_direct
      Src: /src/pest/debugger/src/main.rs:160,1
    - Dst: Option::to_owned
      Src: /src/pest/debugger/src/main.rs:160,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:165,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:166,1
    - Dst: Cli::breakpoint
      Src: /src/pest/debugger/src/main.rs:168,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:173,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:174,1
    - Dst: delete_breakpoint
      Src: /src/pest/debugger/src/main.rs:176,1
    - Dst: '&str::starts_with'
      Src: /src/pest/debugger/src/main.rs:181,1
    - Dst: Self::extract_arg
      Src: /src/pest/debugger/src/main.rs:182,1
    - Dst: Cli::run
      Src: /src/pest/debugger/src/main.rs:184,1
    - Dst: Cli::unrecognized
      Src: /src/pest/debugger/src/main.rs:189,1
    - Dst: Ok
      Src: /src/pest/debugger/src/main.rs:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 98
    argCount: 1
    argNames:
    - command
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 192
      start: 132
    functionDepth: 18
    functionLinenumber: 132
    functionLinenumberEnd: 192
    functionName: Cli::execute_command
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - trim
    - delete_all_breakpoints
    - Cli::unrecognized
    - Cli::breakpoint
    - Option::unwrap
    - Cli::help
    - Cli::list
    - Cli::grammar
    - add_all_rules_breakpoints
    - Cli::run
    - PathBuf::from
    - load_input_direct
    - starts_with
    - Result::split
    - Option::to_owned
    - (position::Position::next
    - Cli::input
    - Cli::cont
    - Ok
    - '&str::starts_with'
    - Self::extract_arg
    - delete_breakpoint
    linkageType: ''
    returnType: Result
    signature: 'fn execute_command(&mut self, command: &str) -> Result<(), DebuggerError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hint
      Src: /src/pest/debugger/src/main.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - line
    - pos
    - ctx
    argTypes:
    - '&str'
    - usize
    - '&rustyline::Context<''_>'
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: CliHelper::hint
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - hint
    linkageType: ''
    returnType: Option
    signature: 'fn hint(&self, line: &str, pos: usize, ctx: &rustyline::Context<''_>)
      -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: complete_path
      Src: /src/pest/debugger/src/main.rs:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - line
    - pos
    - _ctx
    argTypes:
    - '&str'
    - usize
    - '&rustyline::Context<''_>'
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: CliHelper::complete
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - complete_path
    linkageType: ''
    returnType: rustyline::Result
    signature: 'fn complete(&self,line: &str,pos: usize,_ctx: &rustyline::Context<''_>,)
      -> rustyline::Result<(usize, Vec<Pair>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/pest/debugger/src/main.rs:240,1
    - Dst: std::env::args
      Src: /src/pest/debugger/src/main.rs:244,1
    - Dst: skip
      Src: /src/pest/debugger/src/main.rs:245,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:247,1
    - Dst: Option::as_str
      Src: /src/pest/debugger/src/main.rs:248,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:250,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:251,1
    - Dst: PathBuf::from
      Src: /src/pest/debugger/src/main.rs:251,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:254,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:258,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:259,1
    - Dst: PathBuf::from
      Src: /src/pest/debugger/src/main.rs:259,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:262,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:266,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:267,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:270,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:274,1
    - Dst: push
      Src: /src/pest/debugger/src/main.rs:275,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:278,1
    - Dst: next
      Src: /src/pest/debugger/src/main.rs:282,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:283,1
    - Dst: PathBuf::from
      Src: /src/pest/debugger/src/main.rs:283,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:286,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:306,1
    - Dst: std::process::exit
      Src: /src/pest/debugger/src/main.rs:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 235
    functionDepth: 22
    functionLinenumber: 235
    functionLinenumberEnd: 318
    functionName: CliArgs::default
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - Some
    - Option::as_str
    - next
    - skip
    - PathBuf::from
    - std::env::args
    - push
    - Vec::new
    - std::process::exit
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DebuggerContext::grammar
      Src: /src/pest/debugger/src/main.rs:324,1
    - Dst: DebuggerContext::input
      Src: /src/pest/debugger/src/main.rs:329,1
    - Dst: DebuggerContext::breakpoint
      Src: /src/pest/debugger/src/main.rs:334,1
    - Dst: DebuggerContext::run
      Src: /src/pest/debugger/src/main.rs:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut Cli'
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 18
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: CliArgs::init
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 0
    functionsReached:
    - DebuggerContext::input
    - DebuggerContext::breakpoint
    - DebuggerContext::run
    - DebuggerContext::grammar
    linkageType: ''
    returnType: void
    signature: 'fn init(self, context: &mut Cli)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client::get
      Src: /src/pest/debugger/src/main.rs:413,1
    - Dst: send
      Src: /src/pest/debugger/src/main.rs:413,1
    - Dst: json::<serde_json::Value>
      Src: /src/pest/debugger/src/main.rs:418,1
    - Dst: ok
      Src: /src/pest/debugger/src/main.rs:418,1
    - Dst: and_then
      Src: /src/pest/debugger/src/main.rs:418,1
    - Dst: as_str
      Src: /src/pest/debugger/src/main.rs:419,1
    - Dst: Some
      Src: /src/pest/debugger/src/main.rs:422,1
    - Dst: to_string
      Src: /src/pest/debugger/src/main.rs:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - client
    argTypes:
    - Client
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 17
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: check_for_updates
    functionSourceFile: /src/pest/debugger/src/main.rs
    functionUses: 1
    functionsReached:
    - Some
    - ok
    - to_string
    - json::<serde_json::Value>
    - as_str
    - Client::get
    - and_then
    - send
    linkageType: ''
    returnType: Option
    signature: 'fn check_for_updates(client: Client) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/pest/generator/src/parse_derive.rs:34,1
    - Dst: filter
      Src: /src/pest/generator/src/parse_derive.rs:34,1
    - Dst: path
      Src: /src/pest/generator/src/parse_derive.rs:38,1
    - Dst: Error::is_ident
      Src: /src/pest/generator/src/parse_derive.rs:39,1
    - Dst: Error::is_ident
      Src: /src/pest/generator/src/parse_derive.rs:39,1
    - Dst: collect
      Src: /src/pest/generator/src/parse_derive.rs:34,1
    - Dst: Result::is_empty
      Src: /src/pest/generator/src/parse_derive.rs:43,1
    - Dst: Vec::with_capacity
      Src: /src/pest/generator/src/parse_derive.rs:47,1
    - Dst: Result::len
      Src: /src/pest/generator/src/parse_derive.rs:47,1
    - Dst: push
      Src: /src/pest/generator/src/parse_derive.rs:49,1
    - Dst: get_attribute
      Src: /src/pest/generator/src/parse_derive.rs:49,1
    - Dst: iter
      Src: /src/pest/generator/src/parse_derive.rs:52,1
    - Dst: any
      Src: /src/pest/generator/src/parse_derive.rs:52,1
    - Dst: path
      Src: /src/pest/generator/src/parse_derive.rs:55,1
    - Dst: is_ident
      Src: /src/pest/generator/src/parse_derive.rs:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - ast
    argTypes:
    - DeriveInput
    constantsTouched: []
    func_position:
      end: 65
      start: 30
    functionDepth: 16
    functionLinenumber: 30
    functionLinenumberEnd: 65
    functionName: parse_derive
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 7
    functionsReached:
    - Result::len
    - Result::is_empty
    - collect
    - is_ident
    - Error::is_ident
    - iter
    - get_attribute
    - path
    - filter
    - push
    - any
    - Vec::with_capacity
    linkageType: ''
    returnType: (ParsedDerive, Vec
    signature: 'pub(crate) fn parse_derive(ast: DeriveInput) -> (ParsedDerive, Vec<GrammarSource>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ident
      Src: /src/pest/generator/src/parse_derive.rs:74,1
    - Dst: GrammarSource::File
      Src: /src/pest/generator/src/parse_derive.rs:75,1
    - Dst: value
      Src: /src/pest/generator/src/parse_derive.rs:75,1
    - Dst: GrammarSource::Inline
      Src: /src/pest/generator/src/parse_derive.rs:77,1
    - Dst: value
      Src: /src/pest/generator/src/parse_derive.rs:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Attribute'
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 16
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: get_attribute
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 1
    functionsReached:
    - value
    - GrammarSource::Inline
    - is_ident
    - GrammarSource::File
    linkageType: ''
    returnType: GrammarSource
    signature: 'fn get_attribute(attr: &Attribute) -> GrammarSource'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:98,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:98,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 17
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: tests::derive_inline_file
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_inline_file()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:110,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:110,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 17
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: tests::derive_ok
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_ok()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:124,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:124,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 17
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: tests::derive_multiple_grammars
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_multiple_grammars()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:142,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:142,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 17
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: tests::derive_nonexhaustive
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_nonexhaustive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:156,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:156,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 17
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: tests::derive_wrong_arg
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_wrong_arg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/parse_derive.rs:169,1
    - Dst: unwrap
      Src: /src/pest/generator/src/parse_derive.rs:169,1
    - Dst: parse_derive
      Src: /src/pest/generator/src/parse_derive.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 17
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: tests::derive_no_grammar
    functionSourceFile: /src/pest/generator/src/parse_derive.rs
    functionUses: 0
    functionsReached:
    - syn::parse_str
    - unwrap
    - parse_derive
    linkageType: ''
    returnType: void
    signature: fn derive_no_grammar()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pest/generator/src/macros.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: insert_builtin
    functionSourceFile: /src/pest/generator/src/macros.rs
    functionUses: 1
    functionsReached:
    - push
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:304,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:306,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:314,1
    - Dst: box_type
      Src: /src/pest/generator/src/generator.rs:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rule
    argTypes:
    - OptimizedRule
    constantsTouched: []
    func_position:
      end: 370
      start: 301
    functionDepth: 17
    functionLinenumber: 301
    functionLinenumberEnd: 370
    functionName: generate_rule
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - generate_expr
    - box_type
    - generate_expr_atomic
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_rule(rule: OptimizedRule) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser::parse
      Src: /src/pest/generator/src/docs.rs:102,1
    - Dst: super::consume
      Src: /src/pest/generator/src/docs.rs:107,1
    - Dst: HashMap::new
      Src: /src/pest/generator/src/docs.rs:109,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/docs.rs:110,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:110,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:110,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/docs.rs:111,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:112,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:113,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/docs.rs:115,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:116,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/docs.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 16
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: tests::test_doc_comment
    functionSourceFile: /src/pest/generator/src/docs.rs
    functionUses: 0
    functionsReached:
    - HashMap::new
    - parser::parse
    - Self::insert
    - super::consume
    - '&str::to_owned'
    linkageType: ''
    returnType: void
    signature: fn test_doc_comment()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: tests::test_empty_grammar_doc
    functionSourceFile: /src/pest/generator/src/docs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_empty_grammar_doc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec<&str>::contains
      Src: /src/pest/generator/src/generator.rs:36,1
    - Dst: generate_builtin_rules
      Src: /src/pest/generator/src/generator.rs:38,1
    - Dst: generate_include
      Src: /src/pest/generator/src/generator.rs:40,1
    - Dst: generate_enum
      Src: /src/pest/generator/src/generator.rs:44,1
    - Dst: generate_patterns
      Src: /src/pest/generator/src/generator.rs:45,1
    - Dst: generate_skip
      Src: /src/pest/generator/src/generator.rs:46,1
    - Dst: '& ''static [Rule]::into_iter'
      Src: /src/pest/generator/src/generator.rs:48,1
    - Dst: map
      Src: /src/pest/generator/src/generator.rs:48,1
    - Dst: collect
      Src: /src/pest/generator/src/generator.rs:48,1
    - Dst: '& ''static [Rule]::extend'
      Src: /src/pest/generator/src/generator.rs:49,1
    - Dst: Vec::into_iter
      Src: /src/pest/generator/src/generator.rs:49,1
    - Dst: filter_map
      Src: /src/pest/generator/src/generator.rs:49,1
    - Dst: Vec<&str>::contains
      Src: /src/pest/generator/src/generator.rs:50,1
    - Dst: Some
      Src: /src/pest/generator/src/generator.rs:51,1
    - Dst: split_for_impl
      Src: /src/pest/generator/src/generator.rs:57,1
    - Dst: result_type
      Src: /src/pest/generator/src/generator.rs:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 6
    argNames:
    - parsed_derive
    - paths
    - rules
    - defaults
    - doc_comment
    - include_grammar
    argTypes:
    - ParsedDerive
    - Vec<PathBuf>
    - Vec<OptimizedRule>
    - Vec<&str>
    - '&DocComment'
    - bool
    constantsTouched: []
    func_position:
      end: 100
      start: 28
    functionDepth: 17
    functionLinenumber: 28
    functionLinenumberEnd: 100
    functionName: generate
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - Some
    - generate_builtin_rules
    - '& ''static [Rule]::extend'
    - generate_skip
    - collect
    - generate_patterns
    - Vec<&str>::contains
    - split_for_impl
    - filter_map
    - Vec::into_iter
    - generate_enum
    - result_type
    - '& ''static [Rule]::into_iter'
    - map
    - generate_include
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn generate(parsed_derive: ParsedDerive,paths: Vec<PathBuf>,rules:
      Vec<OptimizedRule>,defaults: Vec<&str>,doc_comment: &DocComment,include_grammar:
      bool,) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/pest/generator/src/generator.rs:105,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:107,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:108,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:113,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:114,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:115,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:116,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:117,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:118,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:120,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:121,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:122,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:123,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:124,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:132,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:133,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:134,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:141,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:149,1
    - Dst: insert_builtin
      Src: /src/pest/generator/src/generator.rs:150,1
    - Dst: box_type
      Src: /src/pest/generator/src/generator.rs:159,1
    - Dst: pest::unicode::unicode_property_names
      Src: /src/pest/generator/src/generator.rs:161,1
    - Dst: syn::parse_str
      Src: /src/pest/generator/src/generator.rs:162,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:162,1
    - Dst: Self::push
      Src: /src/pest/generator/src/generator.rs:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 173
    functionName: generate_builtin_rules
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - box_type
    - syn::parse_str
    - pest::unicode::unicode_property_names
    - unwrap
    - insert_builtin
    - Self::push
    - Vec::new
    linkageType: ''
    returnType: Vec
    signature: fn generate_builtin_rules() -> Vec<(&'static str, TokenStream)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::current_dir
      Src: /src/pest/generator/src/generator.rs:180,1
    - Dst: expect
      Src: /src/pest/generator/src/generator.rs:180,1
    - Dst: Vec<PathBuf>::iter
      Src: /src/pest/generator/src/generator.rs:182,1
    - Dst: map
      Src: /src/pest/generator/src/generator.rs:182,1
    - Dst: Error::to_str
      Src: /src/pest/generator/src/generator.rs:183,1
    - Dst: String::expect
      Src: /src/pest/generator/src/generator.rs:183,1
    - Dst: join
      Src: /src/pest/generator/src/generator.rs:185,1
    - Dst: to_str
      Src: /src/pest/generator/src/generator.rs:185,1
    - Dst: expect
      Src: /src/pest/generator/src/generator.rs:185,1
    - Dst: to_string
      Src: /src/pest/generator/src/generator.rs:185,1
    - Dst: HashMap::len
      Src: /src/pest/generator/src/generator.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - name
    - paths
    argTypes:
    - '&Ident'
    - Vec<PathBuf>
    constantsTouched: []
    func_position:
      end: 203
      start: 176
    functionDepth: 16
    functionLinenumber: 176
    functionLinenumberEnd: 203
    functionName: generate_include
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - Vec<PathBuf>::iter
    - join
    - Error::to_str
    - to_str
    - String::expect
    - std::env::current_dir
    - to_string
    - expect
    - HashMap::len
    - map
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_include(name: &Ident, paths: Vec<PathBuf>) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/generator/src/generator.rs:211,1
    - Dst: map
      Src: /src/pest/generator/src/generator.rs:211,1
    - Dst: get
      Src: /src/pest/generator/src/generator.rs:214,1
    - Dst: is_empty
      Src: /src/pest/generator/src/generator.rs:226,1
    - Dst: append_all
      Src: /src/pest/generator/src/generator.rs:239,1
    - Dst: append_all
      Src: /src/pest/generator/src/generator.rs:243,1
    - Dst: append_all
      Src: /src/pest/generator/src/generator.rs:247,1
    - Dst: append_all
      Src: /src/pest/generator/src/generator.rs:255,1
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/generator/src/generator.rs:262,1
    - Dst: map
      Src: /src/pest/generator/src/generator.rs:262,1
    - Dst: append_all
      Src: /src/pest/generator/src/generator.rs:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 4
    argNames:
    - rules
    - doc_comment
    - uses_eoi
    - non_exhaustive
    argTypes:
    - '&[OptimizedRule]'
    - '&DocComment'
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 276
      start: 205
    functionDepth: 16
    functionLinenumber: 205
    functionLinenumberEnd: 276
    functionName: generate_enum
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - get
    - append_all
    - is_empty
    - map
    - '& ''static [Rule]::iter'
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_enum(rules: &[OptimizedRule],doc_comment: &DocComment,uses_eoi:
      bool,non_exhaustive: bool,) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/generator/src/generator.rs:279,1
    - Dst: map
      Src: /src/pest/generator/src/generator.rs:279,1
    - Dst: HashMap::collect
      Src: /src/pest/generator/src/generator.rs:279,1
    - Dst: '& ''static [Rule]::push'
      Src: /src/pest/generator/src/generator.rs:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rules
    - uses_eoi
    argTypes:
    - '&[OptimizedRule]'
    - bool
    constantsTouched: []
    func_position:
      end: 299
      start: 278
    functionDepth: 16
    functionLinenumber: 278
    functionLinenumberEnd: 299
    functionName: generate_patterns
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - '& ''static [Rule]::push'
    - map
    - '& ''static [Rule]::iter'
    - HashMap::collect
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_patterns(rules: &[OptimizedRule], uses_eoi: bool) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/generator/src/generator.rs:373,1
    - Dst: any
      Src: /src/pest/generator/src/generator.rs:373,1
    - Dst: '& ''static [Rule]::iter'
      Src: /src/pest/generator/src/generator.rs:374,1
    - Dst: any
      Src: /src/pest/generator/src/generator.rs:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - rules
    argTypes:
    - '&[OptimizedRule]'
    constantsTouched: []
    func_position:
      end: 415
      start: 372
    functionDepth: 16
    functionLinenumber: 372
    functionLinenumberEnd: 415
    functionName: generate_skip
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached:
    - any
    - '& ''static [Rule]::iter'
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_skip(rules: &[OptimizedRule]) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/generator/src/generator.rs:430,1
    - Dst: next
      Src: /src/pest/generator/src/generator.rs:430,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:430,1
    - Dst: chars
      Src: /src/pest/generator/src/generator.rs:431,1
    - Dst: next
      Src: /src/pest/generator/src/generator.rs:431,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:431,1
    - Dst: QuoteOption
      Src: /src/pest/generator/src/generator.rs:442,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:448,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:457,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:466,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:471,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:471,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:474,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:474,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:490,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:495,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:495,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:498,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:498,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:510,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:519,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:541,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:567,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:580,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:589,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:597,1
    - Dst: generate_expr
      Src: /src/pest/generator/src/generator.rs:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    argCount: 1
    argNames:
    - expr
    argTypes:
    - OptimizedExpr
    constantsTouched: []
    func_position:
      end: 624
      start: 417
    functionDepth: 16
    functionLinenumber: 417
    functionLinenumberEnd: 624
    functionName: generate_expr
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 2
    functionsReached:
    - chars
    - unwrap
    - next
    - QuoteOption
    - push
    - generate_expr
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_expr(expr: OptimizedExpr) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/pest/generator/src/generator.rs:639,1
    - Dst: next
      Src: /src/pest/generator/src/generator.rs:639,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:639,1
    - Dst: chars
      Src: /src/pest/generator/src/generator.rs:640,1
    - Dst: next
      Src: /src/pest/generator/src/generator.rs:640,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:640,1
    - Dst: QuoteOption
      Src: /src/pest/generator/src/generator.rs:651,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:657,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:666,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:675,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:680,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:680,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:683,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:683,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:697,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:702,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:702,1
    - Dst: push
      Src: /src/pest/generator/src/generator.rs:705,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:705,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:717,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:726,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:736,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:758,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:771,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:780,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:789,1
    - Dst: generate_expr_atomic
      Src: /src/pest/generator/src/generator.rs:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    argCount: 1
    argNames:
    - expr
    argTypes:
    - OptimizedExpr
    constantsTouched: []
    func_position:
      end: 805
      start: 626
    functionDepth: 16
    functionLinenumber: 626
    functionLinenumberEnd: 805
    functionName: generate_expr_atomic
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 2
    functionsReached:
    - chars
    - unwrap
    - next
    - generate_expr_atomic
    - QuoteOption
    - push
    linkageType: ''
    returnType: TokenStream
    signature: 'fn generate_expr_atomic(expr: OptimizedExpr) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_type
      Src: /src/pest/generator/src/generator.rs:811,1
    - Dst: Vec::append_all
      Src: /src/pest/generator/src/generator.rs:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - '&mut TokenStream'
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: QuoteOption::to_tokens
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - Vec::append_all
    - option_type
    linkageType: ''
    returnType: void
    signature: 'fn to_tokens(&self, tokens: &mut TokenStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: box_type
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: fn box_type() -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 833
    functionName: result_type
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: fn result_type() -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: option_type
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: fn option_type() -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashMap::new
      Src: /src/pest/generator/src/generator.rs:859,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/generator.rs:860,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:860,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:860,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 852
    functionDepth: 4
    functionLinenumber: 852
    functionLinenumberEnd: 885
    functionName: tests::rule_enum_simple
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - HashMap::new
    - '&str::to_owned'
    - Self::insert
    linkageType: ''
    returnType: void
    signature: fn rule_enum_simple()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashMap::new
      Src: /src/pest/generator/src/generator.rs:895,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/generator.rs:896,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:896,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:896,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 920
    functionName: tests::rule_empty_doc
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - HashMap::new
    - '&str::to_owned'
    - Self::insert
    linkageType: ''
    returnType: void
    signature: fn rule_empty_doc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:924,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:925,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:925,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:925,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:926,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:926,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:927,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:927,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:927,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:928,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:928,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:929,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:929,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:929,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:930,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:930,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 923
    functionDepth: 4
    functionLinenumber: 923
    functionLinenumberEnd: 956
    functionName: tests::sequence
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Str
    - OptimizedExpr::Seq
    - '&str::to_owned'
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:960,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:961,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:961,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:961,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:962,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:962,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:963,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:963,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:963,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:964,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:964,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:965,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:965,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:965,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:966,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:966,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 959
    functionDepth: 4
    functionLinenumber: 959
    functionLinenumberEnd: 986
    functionName: tests::sequence_atomic
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Str
    - OptimizedExpr::Seq
    - '&str::to_owned'
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn sequence_atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1018,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1019,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1019,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1019,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1020,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1020,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1021,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1021,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1021,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1022,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1022,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1023,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1023,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1023,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1024,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1024,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1017
    functionDepth: 4
    functionLinenumber: 1017
    functionLinenumberEnd: 1042
    functionName: tests::choice_atomic
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Str
    - '&str::to_owned'
    - Box::new
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: void
    signature: fn choice_atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1074,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1075,1
    - Dst: OptimizedExpr::Ident
      Src: /src/pest/generator/src/generator.rs:1075,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1075,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1076,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:1076,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1077,1
    - Dst: OptimizedExpr::Range
      Src: /src/pest/generator/src/generator.rs:1077,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1077,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1077,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1078,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:1078,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1079,1
    - Dst: OptimizedExpr::NegPred
      Src: /src/pest/generator/src/generator.rs:1079,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1079,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/generator/src/generator.rs:1079,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1080,1
    - Dst: OptimizedExpr::Insens
      Src: /src/pest/generator/src/generator.rs:1080,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1080,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1082,1
    - Dst: OptimizedExpr::PosPred
      Src: /src/pest/generator/src/generator.rs:1082,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1082,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/generator/src/generator.rs:1082,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1083,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/generator/src/generator.rs:1083,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1083,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1083,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1084,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1084,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1084,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1085,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1085,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1073
    functionDepth: 4
    functionLinenumber: 1073
    functionLinenumberEnd: 1157
    functionName: tests::expr_complex
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Range
    - OptimizedExpr::PosPred
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - OptimizedExpr::Str
    - OptimizedExpr::Seq
    - '&str::to_owned'
    - Box::new
    - OptimizedExpr::NegPred
    - OptimizedExpr::Insens
    - OptimizedExpr::Ident
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: void
    signature: fn expr_complex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1161,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1162,1
    - Dst: OptimizedExpr::Ident
      Src: /src/pest/generator/src/generator.rs:1162,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1162,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1163,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:1163,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1164,1
    - Dst: OptimizedExpr::Range
      Src: /src/pest/generator/src/generator.rs:1164,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1164,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1164,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1165,1
    - Dst: OptimizedExpr::Seq
      Src: /src/pest/generator/src/generator.rs:1165,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1166,1
    - Dst: OptimizedExpr::NegPred
      Src: /src/pest/generator/src/generator.rs:1166,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1166,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/generator/src/generator.rs:1166,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1167,1
    - Dst: OptimizedExpr::Insens
      Src: /src/pest/generator/src/generator.rs:1167,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1167,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1169,1
    - Dst: OptimizedExpr::PosPred
      Src: /src/pest/generator/src/generator.rs:1169,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1169,1
    - Dst: OptimizedExpr::Opt
      Src: /src/pest/generator/src/generator.rs:1169,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1170,1
    - Dst: OptimizedExpr::Rep
      Src: /src/pest/generator/src/generator.rs:1170,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1170,1
    - Dst: OptimizedExpr::Choice
      Src: /src/pest/generator/src/generator.rs:1170,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1171,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1171,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1171,1
    - Dst: Box::new
      Src: /src/pest/generator/src/generator.rs:1172,1
    - Dst: OptimizedExpr::Str
      Src: /src/pest/generator/src/generator.rs:1172,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1207
    functionName: tests::expr_complex_atomic
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - OptimizedExpr::Range
    - OptimizedExpr::PosPred
    - OptimizedExpr::Rep
    - OptimizedExpr::Opt
    - OptimizedExpr::Str
    - OptimizedExpr::Seq
    - '&str::to_owned'
    - Box::new
    - OptimizedExpr::NegPred
    - OptimizedExpr::Insens
    - OptimizedExpr::Ident
    - OptimizedExpr::Choice
    linkageType: ''
    returnType: void
    signature: fn expr_complex_atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ident::new
      Src: /src/pest/generator/src/generator.rs:1211,1
    - Dst: Span::call_site
      Src: /src/pest/generator/src/generator.rs:1211,1
    - Dst: Generics::default
      Src: /src/pest/generator/src/generator.rs:1212,1
    - Dst: HashMap::new
      Src: /src/pest/generator/src/generator.rs:1227,1
    - Dst: Self::insert
      Src: /src/pest/generator/src/generator.rs:1228,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1228,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1228,1
    - Dst: '&str::to_owned'
      Src: /src/pest/generator/src/generator.rs:1232,1
    - Dst: result_type
      Src: /src/pest/generator/src/generator.rs:1236,1
    - Dst: box_type
      Src: /src/pest/generator/src/generator.rs:1237,1
    - Dst: std::env::current_dir
      Src: /src/pest/generator/src/generator.rs:1238,1
    - Dst: expect
      Src: /src/pest/generator/src/generator.rs:1238,1
    - Dst: join
      Src: /src/pest/generator/src/generator.rs:1240,1
    - Dst: to_str
      Src: /src/pest/generator/src/generator.rs:1240,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:1240,1
    - Dst: to_string
      Src: /src/pest/generator/src/generator.rs:1240,1
    - Dst: join
      Src: /src/pest/generator/src/generator.rs:1241,1
    - Dst: to_str
      Src: /src/pest/generator/src/generator.rs:1241,1
    - Dst: unwrap
      Src: /src/pest/generator/src/generator.rs:1241,1
    - Dst: to_string
      Src: /src/pest/generator/src/generator.rs:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1210
    functionDepth: 4
    functionLinenumber: 1210
    functionLinenumberEnd: 1323
    functionName: tests::test_generate_complete
    functionSourceFile: /src/pest/generator/src/generator.rs
    functionUses: 0
    functionsReached:
    - HashMap::new
    - box_type
    - Generics::default
    - join
    - to_str
    - Self::insert
    - unwrap
    - Span::call_site
    - std::env::current_dir
    - Ident::new
    - expect
    - to_string
    - '&str::to_owned'
    - result_type
    linkageType: ''
    returnType: void
    signature: fn test_generate_complete()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/pest/generator/src/lib.rs:127,1
    - Dst: Error::as_ref
      Src: /src/pest/generator/src/lib.rs:127,1
    - Dst: String::new
      Src: /src/pest/generator/src/lib.rs:128,1
    - Dst: read_to_string
      Src: /src/pest/generator/src/lib.rs:129,1
    - Dst: Ok
      Src: /src/pest/generator/src/lib.rs:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - P
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: read_file
    functionSourceFile: /src/pest/generator/src/lib.rs
    functionUses: 1
    functionsReached:
    - File::open
    - Error::as_ref
    - String::new
    - Ok
    - read_to_string
    linkageType: ''
    returnType: io::Result
    signature: 'fn read_file<P: AsRef<Path>>(path: P) -> io::Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::derive_parser
      Src: /src/pest/generator/src/lib.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 18
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: tests::test_generate_doc
    functionSourceFile: /src/pest/generator/src/lib.rs
    functionUses: 0
    functionsReached:
    - super::derive_parser
    linkageType: ''
    returnType: void
    signature: fn test_generate_doc()
Fuzzer filename: /src/pest/grammars/fuzz/fuzz_targets/http.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - Rule::all_rules
  - PestParser::parse
  source_file: /src/pest/meta/src/grammar.rs
- function_names:
  - parse
  - P::a::r::s::e::r::N::o::d::e::::::::f::i::l::t::e::r::_::m::a::p::_::t::o::p::_::d::o::w::n::filter_internal
  - ParserNode::filter_map_top_down
  - convert_rule
  - convert_node
  - consume_rules
  - rename_meta_rule
  - consume_rules_with_spans
  - get_node_tag
  - c::o::n::s::u::m::e::_::e::x::p::r::unaries
  - consume_expr
  - unescape
  - tests::rules
  - tests::rule
  - tests::expression
  - tests::repeat_exact
  - tests::repeat_min
  - tests::repeat_max
  - tests::repeat_min_max
  - tests::push
  - tests::peek_slice_all
  - tests::peek_slice_start
  - tests::peek_slice_end
  - tests::peek_slice_start_end
  - tests::identifier
  - tests::string
  - tests::insensitive_string
  - tests::range
  - tests::character
  - tests::number
  - tests::comment
  - tests::grammar_doc_and_line_doc
  - tests::wrong_identifier
  - tests::missing_assignment_operator
  - tests::wrong_modifier
  - tests::missing_opening_brace
  - tests::empty_rule
  - tests::missing_rhs
  - tests::incorrect_prefix
  - tests::wrong_op
  - tests::missing_closing_paren
  - tests::missing_term
  - tests::string_missing_ending_quote
  - tests::insensitive_missing_string
  - tests::char_missing_ending_single_quote
  - tests::range_missing_range_operator
  - tests::wrong_postfix
  - tests::node_tag
  - tests::incomplete_node_tag
  - tests::incomplete_node_tag_assignment
  - tests::incomplete_node_tag_pound_key
  - tests::ast
  - tests::ast_push_literal
  - tests::ast_push_literal_bad_input
  - tests::ast_peek_slice
  - tests::repeat_exact_overflow
  - tests::repeat_exact_zero
  - tests::repeat_min_overflow
  - tests::repeat_max_overflow
  - tests::repeat_max_zero
  - tests::repeat_min_max_overflow
  - tests::repeat_min_max_zero
  - tests::unescape_all
  - tests::unescape_empty_escape
  - tests::unescape_wrong_escape
  - tests::unescape_backslash
  - tests::unescape_return
  - tests::unescape_tab
  - tests::unescape_null
  - tests::unescape_single_quote
  - tests::unescape_wrong_byte
  - tests::unescape_short_byte
  - tests::unescape_no_open_brace_unicode
  - tests::unescape_no_close_brace_unicode
  - tests::unescape_short_unicode
  - tests::unescape_long_unicode
  - tests::handles_deep_nesting
  source_file: /src/pest/meta/src/parser.rs
- function_names:
  - unwrap_or_report
  - parse_and_optimize
  source_file: /src/pest/meta/src/lib.rs
- function_names:
  - Expr::iter_top_down
  - E::x::p::r::::::::m::a::p::_::t::o::p::_::d::o::w::n::map_internal
  - Expr::map_top_down
  - E::x::p::r::::::::m::a::p::_::b::o::t::t::o::m::_::u::p::map_internal
  - Expr::map_bottom_up
  - Expr::fmt
  - ExprTopDownIterator::new
  - ExprTopDownIterator::iterate_expr
  - ExprTopDownIterator::next
  - tests::top_down_iterator
  - tests::identity
  - tests::string
  - tests::insens
  - tests::range
  - tests::ident
  - tests::peek_slice
  - tests::pos_pred
  - tests::neg_pred
  - tests::seq
  - tests::choice
  - tests::opt
  - tests::rep
  - tests::rep_once
  - tests::rep_exact
  - tests::rep_min
  - tests::rep_max
  - tests::rep_min_max
  - tests::skip
  - tests::push
  - tests::push_literal
  - tests::node_tag
  source_file: /src/pest/meta/src/ast.rs
- function_names:
  - validate_pairs
  - validate_rust_keywords
  - validate_pest_keywords
  - validate_already_defined
  - validate_undefined
  - validate_ast
  - v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map
  - v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::check_silent_builtin
  - validate_tag_silent_rules
  - is_non_progressing
  - is_non_failing
  - validate_repetition
  - validate_choices
  - validate_whitespace_comment
  - validate_left_recursion
  - to_hash_map
  - l::e::f::t::_::r::e::c::u::r::s::i::o::n::check_expr
  - left_recursion
  - tests::pest_keyword
  - tests::already_defined
  - tests::undefined
  - tests::valid_recursion
  - tests::non_failing_whitespace
  - tests::non_progressing_comment
  - tests::non_progressing_empty_string
  - tests::progressing_non_empty_string
  - tests::non_progressing_soi_eoi
  - tests::non_progressing_predicates
  - tests::non_progressing_0_length_repetitions
  - tests::non_progressing_nonzero_repetitions_with_non_progressing_expr
  - tests::progressing_repetitions
  - tests::non_progressing_push
  - tests::progressing_push
  - tests::push_literal_is_non_progressing
  - tests::node_tag_forwards_is_non_progressing
  - tests::progressing_range
  - tests::progressing_choice
  - tests::non_progressing_choices
  - tests::non_progressing_seq
  - tests::progressing_seqs
  - tests::progressing_stack_operations
  - tests::non_failing_string
  - tests::failing_string
  - tests::failing_stack_operations
  - tests::non_failing_zero_length_repetitions
  - tests::non_failing_non_zero_repetitions_with_non_failing_expr
  - tests::failing_non_zero_repetitions
  - tests::failing_choice
  - tests::non_failing_choices
  - tests::non_failing_seq
  - tests::failing_seqs
  - tests::failing_range
  - tests::_push_node_tag_pos_pred_forwarding_is_non_failing
  - tests::push_literal_is_non_failing
  - tests::non_failing_repetition
  - tests::indirect_non_failing_repetition
  - tests::deep_non_failing_repetition
  - tests::non_progressing_repetition
  - tests::indirect_non_progressing_repetition
  - tests::simple_left_recursion
  - tests::indirect_left_recursion
  - tests::non_failing_left_recursion
  - tests::non_primary_choice_left_recursion
  - tests::non_progressing_left_recursion
  - tests::lhs_non_failing_choice
  - tests::lhs_non_failing_choice_middle
  - tests::lhs_non_failing_nested_choices
  - tests::skip_can_be_defined
  - tests::tag_on_silent_rule
  - tests::tag_on_builtin_rule
  - tests::tag_on_normal_rule
  source_file: /src/pest/meta/src/validator.rs
- function_names:
  - restore_on_err
  - wrap_branching_exprs
  - child_modifies_state
  - tests::restore_no_stack_children
  - tests::restore_with_child_stack_ops
  - tests::restore_choice_branch_with_and_branch_without
  source_file: /src/pest/meta/src/optimizer/restorer.rs
- function_names:
  - list
  source_file: /src/pest/meta/src/optimizer/lister.rs
- function_names:
  - unroll
  source_file: /src/pest/meta/src/optimizer/unroller.rs
- function_names:
  - r::o::t::a::t::e::rotate_internal
  - rotate
  source_file: /src/pest/meta/src/optimizer/rotator.rs
- function_names:
  - s::k::i::p::populate_choices
  - skip
  source_file: /src/pest/meta/src/optimizer/skipper.rs
- function_names:
  - box_tree
  - optimize
  - r::u::l::e::_::t::o::_::o::p::t::i::m::i::z::e::d::_::r::u::l::e::to_optimized
  - rule_to_optimized_rule
  - to_hash_map
  - OptimizedExpr::iter_top_down
  - O::p::t::i::m::i::z::e::d::E::x::p::r::::::::m::a::p::_::t::o::p::_::d::o::w::n::map_internal
  - OptimizedExpr::map_top_down
  - O::p::t::i::m::i::z::e::d::E::x::p::r::::::::m::a::p::_::b::o::t::t::o::m::_::u::p::map_internal
  - OptimizedExpr::map_bottom_up
  - OptimizedExpr::fmt
  - OptimizedExprTopDownIterator::new
  - OptimizedExprTopDownIterator::iterate_expr
  - OptimizedExprTopDownIterator::next
  - tests::rotate
  - tests::skip
  - tests::concat_strings
  - tests::unroll_loop_exact
  - tests::unroll_loop_max
  - tests::unroll_loop_min
  - tests::unroll_loop_min_max
  - tests::concat_insensitive_strings
  - tests::long_common_sequence
  - tests::short_common_sequence
  - tests::impossible_common_sequence
  - tests::lister
  - tests::control_character
  - tests::str
  - tests::insens
  - tests::range
  - tests::ident
  - tests::peek_slice
  - tests::pos_pred
  - tests::neg_pred
  - tests::seq
  - tests::choice
  - tests::opt
  - tests::rep
  - tests::rep_once
  - tests::skip
  - tests::inline_skip
  - tests::push
  - tests::push_literal
  - tests::node_tag
  - tests::restore_on_err
  source_file: /src/pest/meta/src/optimizer/mod.rs
- function_names:
  - concatenate
  source_file: /src/pest/meta/src/optimizer/concatenator.rs
- function_names:
  - factor
  source_file: /src/pest/meta/src/optimizer/factorizer.rs
- function_names:
  - fuzz_target
  source_file: /src/pest/meta/fuzz/fuzz_targets/parser.rs
- function_names:
  - main
  source_file: /src/pest/bootstrap/src/main.rs
- function_names:
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::expression
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::primary
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::number
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::plus
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::minus
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::times
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::divide
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::modulus
  - C::a::l::c::u::l::a::t::o::r::P::a::r::s::e::r::::::::p::a::r::s::e::power
  - CalculatorParser::parse
  - consume
  - number
  - parens
  - expression
  - prec_climb
  - pratt_parse
  source_file: /src/pest/pest/tests/calculator.rs
- function_names:
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::object
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::array
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::string
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::escape
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::unicode
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::number
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::bool
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::null
  - J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::skip
  - JsonParser::parse
  - c::o::n::s::u::m::e::value
  - consume
  - 'null'
  - bool
  - number_zero
  - float
  - float_with_exp
  - number_minus_zero
  - string_with_escapes
  - array_empty
  - array
  - object
  - ast
  source_file: /src/pest/pest/tests/json.rs
- function_names:
  - consumes_to
  - parses_to
  - fails_with
  - tests::parses_to
  - tests::missing_end
  - tests::empty
  - tests::fails_with
  - tests::wrong_positives
  - tests::wrong_negatives
  - tests::wrong_pos
  source_file: /src/pest/pest/src/macros.rs
- function_names:
  - prec_climber
  - Operator::new
  - O::p::e::r::a::t::o::r::::::::b::i::t::o::r::assign_next
  - Operator::bitor
  - PrecClimber::new_const
  - PrecClimber::get
  - PrecClimber::new
  - PrecClimber::climb
  - PrecClimber::climb_rec
  source_file: /src/pest/pest/src/prec_climber.rs
- function_names:
  - set_call_limit
  - set_error_detail
  - CallLimitTracker::default
  - CallLimitTracker::limit_reached
  - CallLimitTracker::increment_depth
  - ParseAttempt::get_rule
  - RulesCallStack::new
  - ParsingToken::fmt
  - BorrowedOrArc::as_str
  - BorrowedOrArc::from
  - SpanOrLiteral::as_borrowed_or_rc
  - ParseAttempts::new
  - ParseAttempts::call_stacks_number
  - ParseAttempts::expected_tokens
  - ParseAttempts::unexpected_tokens
  - ParseAttempts::call_stacks
  - ParseAttempts::try_add_new_stack_rule
  - ParseAttempts::try_add_new_token
  - ParseAttempts::nullify_expected_tokens
  - ParseAttempts::default
  - state
  - ParserState::new
  - ParserState::get_parse_attempts
  - ParserState::position
  - ParserState::atomicity
  - ParserState::inc_call_check_limit
  - ParserState::reached_call_limit
  - ParserState::rule
  - ParserState::tag_node
  - ParserState::attempts_at
  - ParserState::track
  - ParserState::sequence
  - ParserState::repeat
  - ParserState::optional
  - ParserState::handle_token_parse_result
  - ParserState::match_char_by
  - ParserState::match_string
  - ParserState::stack_push_literal
  - ParserState::match_insensitive
  - ParserState::match_range
  - ParserState::skip
  - ParserState::skip_until
  - ParserState::start_of_input
  - ParserState::end_of_input
  - ParserState::lookahead
  - ParserState::atomic
  - ParserState::stack_push
  - ParserState::stack_peek
  - ParserState::stack_pop
  - ParserState::stack_match_peek_slice
  - ParserState::stack_match_peek
  - ParserState::stack_match_pop
  - ParserState::stack_drop
  - ParserState::restore_on_err
  - ParserState::checkpoint
  - ParserState::checkpoint_ok
  - ParserState::restore
  - constrain_idxs
  - normalize_index
  - test::normalize_index_pos
  - test::normalize_index_neg
  source_file: /src/pest/pest/src/parser_state.rs
- function_names:
  - Span::new_internal
  - Span::new
  - Span::get
  - Span::start
  - Span::end
  - Span::start_pos
  - Span::end_pos
  - Span::split
  - Span::as_str
  - Span::get_input
  - Span::lines
  - Span::lines_span
  - Span::fmt
  - Span::eq
  - Span::hash
  - merge_spans
  - LinesSpan::next
  - Lines::next
  - tests::get
  - tests::get_fails
  - tests::span_comp
  - tests::split
  - tests::lines_mid
  - tests::lines_eof
  - tests::lines_span
  - tests::get_input_of_span
  - tests::merge_contiguous
  - tests::merge_overlapping
  - tests::merge_non_contiguous
  source_file: /src/pest/pest/src/span.rs
- function_names:
  - LineColLocation::from
  - LineColLocation::from
  - ParsingToken::is_whitespace
  - ParseAttempts::tokens_helper_messages
  - Error::new_from_pos
  - Error::new_from_pos_with_parsing_attempts
  - Error::new_from_span
  - Error::with_path
  - Error::path
  - Error::line
  - Error::renamed_rules
  - Error::parse_attempts
  - Error::parse_attempts_error
  - Error::start
  - Error::spacing
  - Error::underline
  - Error::message
  - Error::parsing_error_message
  - Error::enumerate
  - Error::format
  - Error::into_miette
  - ErrorVariant::message
  - Error::fmt
  - ErrorVariant::fmt
  - visualize_whitespace
  - tests::display_parsing_error_mixed
  - tests::display_parsing_error_positives
  - tests::display_parsing_error_negatives
  - tests::display_parsing_error_unknown
  - tests::display_custom_pos
  - tests::display_custom_span_two_lines
  - tests::display_custom_span_three_lines
  - tests::display_custom_span_two_lines_inverted_cols
  - tests::display_custom_span_end_after_newline
  - tests::display_custom_span_empty
  - tests::mapped_parsing_error
  - tests::error_with_path
  - tests::underline_with_tabs
  - tests::pos_to_lcl_conversion
  - tests::span_to_lcl_conversion
  - tests::miette_error
  source_file: /src/pest/pest/src/error.rs
- function_names:
  - Stack::default
  - Stack::new
  - Stack::is_empty
  - Stack::peek
  - Stack::push
  - Stack::pop
  - Stack::len
  - Stack::snapshot
  - Stack::clear_snapshot
  - Stack::restore
  - Stack::index
  - test::snapshot_with_empty
  - test::snapshot_twice
  - test::restore_without_snapshot
  - test::snapshot_pop_restore
  - test::snapshot_pop_push_restore
  - test::snapshot_push_pop_restore
  - test::snapshot_push_clear
  - test::snapshot_pop_clear
  - test::stack_ops
  source_file: /src/pest/pest/src/stack.rs
- function_names: []
  source_file: /src/pest/pest/src/parser.rs
- function_names: []
  source_file: /src/pest/pest/src/lib.rs
- function_names:
  - Position::new_internal
  - Position::new
  - Position::from_start
  - Position::pos
  - Position::span
  - Position::line_col
  - Position::line_of
  - Position::find_line_start
  - Position::find_line_end
  - Position::at_start
  - Position::at_end
  - Position::skip
  - Position::skip_back
  - Position::skip_until
  - Position::skip_until_basic
  - Position::match_char
  - Position::match_char_by
  - Position::match_string
  - Position::match_insensitive
  - Position::match_range
  - Position::fmt
  - Position::eq
  - Position::partial_cmp
  - Position::cmp
  - Position::hash
  - tests::empty
  - tests::parts
  - tests::line_col
  - tests::line_of
  - tests::line_of_empty
  - tests::line_of_new_line
  - tests::line_of_between_new_line
  - tests::measure_skip
  - tests::skip_empty
  - tests::skip
  - tests::skip_until
  - tests::match_range
  - tests::match_insensitive
  - tests::cmp
  - tests::cmp_panic
  - tests::hash
  source_file: /src/pest/pest/src/position.rs
- function_names:
  - Op::prefix
  - Op::postfix
  - Op::infix
  - O::p::::::::b::i::t::o::r::assign_next
  - Op::bitor
  - PrattParser::default
  - PrattParser::new
  - PrattParser::op
  - PrattParser::map_primary
  - PrattParserMap::map_prefix
  - PrattParserMap::map_postfix
  - PrattParserMap::map_infix
  - PrattParserMap::parse
  - PrattParserMap::expr
  - PrattParserMap::nud
  - PrattParserMap::led
  - PrattParserMap::lbp
  source_file: /src/pest/pest/src/pratt_parser.rs
- function_names: []
  source_file: /src/pest/pest/src/token.rs
- function_names: []
  source_file: /src/pest/pest/src/unicode/category.rs
- function_names:
  - property_functions
  - char_property_functions
  - unicode_property_names
  - by_name
  source_file: /src/pest/pest/src/unicode/mod.rs
- function_names: []
  source_file: /src/pest/pest/src/unicode/binary.rs
- function_names: []
  source_file: /src/pest/pest/src/unicode/script.rs
- function_names:
  - new
  - Pairs::as_str
  - Pairs::get_input
  - Pairs::concat
  - Pairs::flatten
  - Pairs::find_first_tagged
  - Pairs::find_tagged
  - Pairs::tokens
  - Pairs::peek
  - Pairs::is_empty
  - Pairs::to_json
  - Pairs::pair
  - Pairs::pair_from_end
  - Pairs::pos
  - Pairs::len
  - Pairs::next
  - Pairs::size_hint
  - Pairs::next_back
  - Pairs::fmt
  - Pairs::fmt
  - Pairs::eq
  - Pairs::hash
  - Pairs::serialize
  - tests::test_pretty_print
  - tests::as_str
  - tests::get_input_of_pairs
  - tests::as_str_empty
  - tests::concat
  - tests::pairs_debug
  - tests::pairs_display
  - tests::iter_for_pairs
  - tests::double_ended_iter_for_pairs
  - tests::test_line_col
  - tests::test_rev_iter_line_col
  - t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::mark_branch
  - t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::expr
  - t::e::s::t::s::::::::t::e::s::t::_::t::a::g::_::n::o::d::e::_::b::r::a::n::c::h::number
  - tests::test_tag_node_branch
  - tests::exact_size_iter_for_pairs
  source_file: /src/pest/pest/src/iterators/pairs.rs
- function_names:
  - new
  - Tokens::create_token
  - Tokens::len
  - Tokens::next
  - Tokens::size_hint
  - Tokens::next_back
  - Tokens::fmt
  - tests::double_ended_iter_for_tokens
  - tests::exact_size_iter_for_tokens
  source_file: /src/pest/pest/src/iterators/tokens.rs
- function_names:
  - new
  - FlatPairs::tokens
  - FlatPairs::next_start
  - FlatPairs::next_start_from_end
  - FlatPairs::is_start
  - FlatPairs::len
  - FlatPairs::next
  - FlatPairs::size_hint
  - FlatPairs::next_back
  - FlatPairs::fmt
  - FlatPairs::clone
  - tests::iter_for_flat_pairs
  - tests::double_ended_iter_for_flat_pairs
  - tests::test_line_col
  - tests::exact_size_iter_for_pairs
  source_file: /src/pest/pest/src/iterators/flat_pairs.rs
- function_names:
  - new
  - Pair::as_rule
  - Pair::as_str
  - Pair::get_input
  - Pair::into_span
  - Pair::as_span
  - Pair::as_node_tag
  - Pair::into_inner
  - Pair::tokens
  - Pair::to_json
  - Pair::line_col
  - Pair::pair
  - Pair::pos
  - Pairs::single
  - Pair::fmt
  - Pair::fmt
  - Pair::eq
  - Pair::hash
  - Pair::serialize
  - tests::test_pretty_print
  - tests::pair_into_inner
  - tests::get_input_of_pair
  - tests::pair_to_string_matches_as_str
  - tests::alternate_format
  source_file: /src/pest/pest/src/iterators/pair.rs
- function_names: []
  source_file: /src/pest/pest/src/iterators/queueable_token.rs
- function_names: []
  source_file: /src/pest/pest/src/iterators/mod.rs
- function_names:
  - LineIndex::new
  - LineIndex::line_col
  - tests::test_line_index
  source_file: /src/pest/pest/src/iterators/line_index.rs
- function_names:
  - P::a::r::e::n::P::a::r::s::e::r::::::::p::a::r::s::e::expr
  - P::a::r::e::n::P::a::r::s::e::r::::::::p::a::r::s::e::paren
  - ParenParser::parse
  - expr
  - main
  source_file: /src/pest/pest/examples/parens.rs
- function_names:
  - snapshot_push_restore
  - snapshot_push_clear_snapshot
  - snapshot_pop_restore
  - snapshot_pop_clear
  - benchmark
  source_file: /src/pest/pest/benches/stack.rs
- function_names:
  - vm
  - choices
  - choices_no_progress
  - choices_a_progress
  - choices_b_progress
  - nested
  - negative
  - negative_match
  - mixed
  - mixed_progress
  source_file: /src/pest/vm/tests/reporting.rs
- function_names:
  - vm
  - quote
  source_file: /src/pest/vm/tests/surround.rs
- function_names:
  - vm
  - string
  - insensitive
  - range
  - ident
  - pos_pred
  - neg_pred
  - double_neg_pred
  - sequence
  - sequence_compound
  - sequence_atomic
  - sequence_non_atomic
  - sequence_atomic_space
  - sequence_atomic_compound
  - sequence_compound_nested
  - sequence_compound_nested_space
  - choice_string
  - choice_range
  - optional_string
  - optional_empty
  - repeat_empty
  - repeat_strings
  - repeat_atomic_empty
  - repeat_atomic_strings
  - repeat_atomic_space
  - repeat_once_empty
  - repeat_once_strings
  - repeat_once_atomic_empty
  - repeat_once_atomic_strings
  - repeat_once_atomic_space
  - repeat_min_max_twice
  - repeat_min_max_thrice
  - repeat_min_max_atomic_twice
  - repeat_min_max_atomic_thrice
  - repeat_min_max_atomic_space
  - repeat_exact
  - repeat_min_once
  - repeat_min_twice
  - repeat_min_thrice
  - repeat_min_atomic_once
  - repeat_min_atomic_twice
  - repeat_min_atomic_thrice
  - repeat_min_atomic_space
  - repeat_max_once
  - repeat_max_twice
  - repeat_max_thrice
  - repeat_max_atomic_once
  - repeat_max_atomic_twice
  - repeat_max_atomic_thrice
  - repeat_max_atomic_space
  - repeat_comment
  - soi_at_start
  - peek
  - peek_all
  - peek_slice_23
  - pop
  - pop_all
  - pop_fail
  - repeat_mutate_stack
  - checkpoint_restore
  - ascii_digits
  - ascii_nonzero_digits
  - ascii_bin_digits
  - ascii_oct_digits
  - ascii_hex_digits
  - ascii_alpha_lowers
  - ascii_alpha_uppers
  - ascii_alphas
  - ascii_alphanumerics
  - asciis
  - newline
  - unicode
  - shadowing
  - test_han
  - test_hangul
  - test_hiragana
  - arabic
  - emoji
  source_file: /src/pest/vm/tests/grammar.rs
- function_names:
  - vm
  - item
  - items
  - children
  - nested_item
  - nested_items
  - nested_two_levels
  - nested_then_not
  source_file: /src/pest/vm/tests/lists.rs
- function_names:
  - consumes_to
  - parses_to
  - fails_with
  source_file: /src/pest/vm/src/macros.rs
- function_names:
  - Vm::new
  - Vm::new_with_listener
  - Vm::parse
  - Vm::parse_rule
  - Vm::parse_expr
  - Vm::skip
  source_file: /src/pest/vm/src/lib.rs
- function_names:
  - choices
  - choices_no_progress
  - choices_a_progress
  - choices_b_progress
  - nested
  - negative
  - negative_match
  - mixed
  - mixed_progress
  source_file: /src/pest/derive/tests/reporting.rs
- function_names:
  - surround_parenthesis
  - surround_angle_brackets
  - start_with_one_end_with_other
  source_file: /src/pest/derive/tests/surround.rs
- function_names:
  - test_one_or_more
  source_file: /src/pest/derive/tests/oneormore.rs
- function_names:
  - string
  - insensitive
  - range
  - ident
  - pos_pred
  - neg_pred
  - double_neg_pred
  - sequence
  - sequence_compound
  - sequence_atomic
  - sequence_non_atomic
  - sequence_atomic_space
  - sequence_atomic_compound
  - sequence_compound_nested
  - sequence_compound_nested_space
  - choice_string
  - choice_range
  - choice_prefix
  - node_tag
  - optional_string
  - optional_empty
  - repeat_empty
  - repeat_strings
  - repeat_atomic_empty
  - repeat_atomic_strings
  - repeat_atomic_space
  - repeat_once_empty
  - repeat_once_strings
  - repeat_once_atomic_empty
  - repeat_once_atomic_strings
  - repeat_once_atomic_space
  - repeat_min_max_twice
  - repeat_min_max_thrice
  - repeat_min_max_atomic_twice
  - repeat_min_max_atomic_thrice
  - repeat_min_max_atomic_space
  - repeat_exact
  - repeat_min_once
  - repeat_min_twice
  - repeat_min_thrice
  - repeat_min_atomic_once
  - repeat_min_atomic_twice
  - repeat_min_atomic_thrice
  - repeat_min_atomic_space
  - repeat_max_once
  - repeat_max_twice
  - repeat_max_thrice
  - repeat_max_atomic_once
  - repeat_max_atomic_twice
  - repeat_max_atomic_thrice
  - repeat_max_atomic_space
  - repeat_comment
  - soi_at_start
  - peek
  - peek_all
  - peek_slice_23
  - pop
  - pop_all
  - pop_fail
  - repeat_mutate_stack
  - stack_resume_after_fail
  - checkpoint_restore
  - ascii_digits
  - ascii_nonzero_digits
  - ascii_bin_digits
  - ascii_oct_digits
  - ascii_hex_digits
  - ascii_alpha_lowers
  - ascii_alpha_uppers
  - ascii_alphas
  - ascii_alphanumerics
  - asciis
  - newline
  - unicode
  - shadowing
  source_file: /src/pest/derive/tests/grammar.rs
- function_names:
  - inline_string
  source_file: /src/pest/derive/tests/grammar_inline.rs
- function_names:
  - item
  - items
  - children
  - nested_item
  - nested_items
  - nested_two_levels
  - nested_then_not
  source_file: /src/pest/derive/tests/lists.rs
- function_names:
  - test_opt_tag
  source_file: /src/pest/derive/tests/opt.rs
- function_names:
  - test_implicit_whitespace
  - test_implicit_whitespace_multitag
  source_file: /src/pest/derive/tests/implicit.rs
- function_names:
  - derive_parser
  source_file: /src/pest/derive/src/lib.rs
- function_names:
  - main
  source_file: /src/pest/derive/examples/help-menu.rs
- function_names:
  - parse_to_str
  - parse_to_i32
  - main
  source_file: /src/pest/derive/examples/calc.rs
- function_names:
  - boolean
  - integer
  - float
  - partial_time
  - full_date
  - local_date_time
  - date_time
  - literal
  - multi_line_literal
  - string
  - multi_line_string
  - array_empty
  - array
  - inline_table
  - table
  - array_table
  - examples
  source_file: /src/pest/grammars/tests/toml.rs
- function_names:
  - method
  - uri
  - version
  - header
  - examples
  source_file: /src/pest/grammars/tests/http.rs
- function_names:
  - sql_simple_select
  - sql_create_user
  - sql_insert_from_select
  source_file: /src/pest/grammars/tests/sql.rs
- function_names:
  - 'null'
  - bool
  - number_zero
  - float
  - float_with_exp
  - number_minus_zero
  - string_with_escapes
  - array_empty
  - array
  - object
  - test_json_parse
  - test_line_col
  - build_line_col
  - build_result_for_pair
  source_file: /src/pest/grammars/tests/json.rs
- function_names:
  - tests::test_toml_deep_nesting
  - tests::toml_handles_deep_nesting
  - tests::toml_handles_deep_nesting_unstable
  - tests::json_handles_deep_nesting
  - t::e::s::t::s::::::::s::q::l::_::c::h::e::c::k::_::e::x::p::r::e::s::s::i::o::n::s::_::p::r::i::o::r::i::t::i::e::s::parse_expr
  - tests::sql_check_expressions_priorities
  - t::e::s::t::s::::::::s::q::l::_::p::a::r::s::e::_::a::t::t::e::m::p::t::s::_::e::r::r::o::r::is_whitespace
  - t::e::s::t::s::::::::s::q::l::_::p::a::r::s::e::_::a::t::t::e::m::p::t::s::_::e::r::r::o::r::rule_to_message
  - tests::sql_parse_attempts_error
  source_file: /src/pest/grammars/src/lib.rs
- function_names:
  - fuzz_target
  source_file: /src/pest/grammars/fuzz/fuzz_targets/toml.rs
- function_names:
  - fuzz_target
  source_file: /src/pest/grammars/fuzz/fuzz_targets/http.rs
- function_names:
  - fuzz_target
  source_file: /src/pest/grammars/fuzz/fuzz_targets/json.rs
- function_names:
  - criterion_benchmark
  source_file: /src/pest/grammars/benches/http.rs
- function_names:
  - bench_json_parse
  - bench_line_col
  - b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs
  - bench_pairs_iter
  source_file: /src/pest/grammars/benches/json.rs
- function_names:
  - DebuggerContext::file_to_string
  - DebuggerContext::load_grammar
  - DebuggerContext::load_grammar_direct
  - DebuggerContext::load_input
  - DebuggerContext::load_input_direct
  - DebuggerContext::add_all_rules_breakpoints
  - DebuggerContext::add_breakpoint
  - DebuggerContext::delete_breakpoint
  - DebuggerContext::delete_all_breakpoints
  - DebuggerContext::list_breakpoints
  - DebuggerContext::handle
  - DebuggerContext::parse_grammar
  - DebuggerContext::run
  - DebuggerContext::cont
  - DebuggerContext::get_position
  - DebuggerContext::default
  - test::get_test_context
  - test::test_full_flow
  - test::test_restart
  - test::test_errors
  source_file: /src/pest/debugger/src/lib.rs
- function_names:
  - Cli::grammar
  - Cli::input
  - Cli::breakpoint
  - Cli::run
  - Cli::cont
  - Cli::list
  - Cli::help
  - Cli::unrecognized
  - Cli::extract_arg
  - Cli::execute_command
  - CliHelper::hint
  - CliHelper::complete
  - CliArgs::default
  - CliArgs::init
  - main
  - check_for_updates
  source_file: /src/pest/debugger/src/main.rs
- function_names:
  - parse_derive
  - get_attribute
  - tests::derive_inline_file
  - tests::derive_ok
  - tests::derive_multiple_grammars
  - tests::derive_nonexhaustive
  - tests::derive_wrong_arg
  - tests::derive_no_grammar
  source_file: /src/pest/generator/src/parse_derive.rs
- function_names:
  - insert_builtin
  - generate_rule
  - generate_rule
  source_file: /src/pest/generator/src/macros.rs
- function_names:
  - consume
  - tests::test_doc_comment
  - tests::test_empty_grammar_doc
  source_file: /src/pest/generator/src/docs.rs
- function_names:
  - generate
  - generate_builtin_rules
  - generate_include
  - generate_enum
  - generate_patterns
  - generate_rule
  - generate_skip
  - generate_expr
  - generate_expr_atomic
  - QuoteOption::to_tokens
  - box_type
  - result_type
  - option_type
  - tests::rule_enum_simple
  - tests::rule_empty_doc
  - tests::sequence
  - tests::sequence_atomic
  - tests::choice
  - tests::choice_atomic
  - tests::skip
  - tests::push_literal
  - tests::expr_complex
  - tests::expr_complex_atomic
  - tests::test_generate_complete
  source_file: /src/pest/generator/src/generator.rs
- function_names:
  - derive_parser
  - read_file
  - tests::test_generate_doc
  source_file: /src/pest/generator/src/lib.rs
