All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 4
    functionName: test_readme_deps
    functionSourceFile: /src/textwrap/tests/version-numbers.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_readme_deps()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: test_changelog
    functionSourceFile: /src/textwrap/tests/version-numbers.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_changelog()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: test_html_root_url
    functionSourceFile: /src/textwrap/tests/version-numbers.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_html_root_url()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: test_dependency_graph
    functionSourceFile: /src/textwrap/tests/version-numbers.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_dependency_graph()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:23,1
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: test_indent_nomargin_default
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_indent_nomargin_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: test_roundtrip_spaces
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_spaces()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: test_roundtrip_tabs
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_tabs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: test_roundtrip_mixed
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_mixed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:67,1
    - Dst: zip
      Src: /src/textwrap/tests/indent.rs:67,1
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:67,1
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:76,1
    - Dst: zip
      Src: /src/textwrap/tests/indent.rs:76,1
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: test_indent_default
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    - zip
    linkageType: ''
    returnType: void
    signature: fn test_indent_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/textwrap/tests/indent.rs:84,1
    - Dst: textwrap::indent
      Src: /src/textwrap/tests/indent.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: indented_text_should_have_the_same_number_of_lines_as_the_original_text
    functionSourceFile: /src/textwrap/tests/indent.rs
    functionUses: 0
    functionsReached:
    - iter
    - textwrap::indent
    linkageType: ''
    returnType: void
    signature: fn indented_text_should_have_the_same_number_of_lines_as_the_original_text()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Opt::into
      Src: /src/textwrap/src/wrap.rs:184,1
    - Dst: as_str
      Src: /src/textwrap/src/wrap.rs:185,1
    - Dst: Vec::new
      Src: /src/textwrap/src/wrap.rs:187,1
    - Dst: split
      Src: /src/textwrap/src/wrap.rs:188,1
    - Dst: wrap_single_line
      Src: /src/textwrap/src/wrap.rs:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - text
    - width_or_options
    argTypes:
    - '&str'
    - Opt
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 7
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: wrap
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 14
    functionsReached:
    - split
    - Vec::new
    - Opt::into
    - as_str
    - wrap_single_line
    linkageType: ''
    returnType: Vec
    signature: 'pub fn wrap<''a, Opt>(text: &str, width_or_options: Opt) -> Vec<Cow<''_,
      str>>whereOpt: Into<Options<''a>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::wrap::wrap_single_line
      Src: /src/textwrap/src/fuzzing.rs:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line
    - options
    - lines
    argTypes:
    - '&''a str'
    - '&Options<''_>'
    - '&mut Vec<Cow<''a, str>>'
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: wrap_single_line
    functionSourceFile: /src/textwrap/src/fuzzing.rs
    functionUses: 2
    functionsReached:
    - crate::wrap::wrap_single_line
    linkageType: ''
    returnType: void
    signature: 'pub fn wrap_single_line<''a>(line: &''a str, options: &Options<''_>,
      lines: &mut Vec<Cow<''a, str>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::wrap::wrap_single_line_slow_path
      Src: /src/textwrap/src/fuzzing.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - line
    - options
    - lines
    argTypes:
    - '&''a str'
    - '&Options<''_>'
    - '&mut Vec<Cow<''a, str>>'
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: wrap_single_line_slow_path
    functionSourceFile: /src/textwrap/src/fuzzing.rs
    functionUses: 1
    functionsReached:
    - crate::wrap::wrap_single_line_slow_path
    linkageType: ''
    returnType: void
    signature: 'pub fn wrap_single_line_slow_path<''a>(line: &''a str,options: &Options<''_>,lines:
      &mut Vec<Cow<''a, str>>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: tests::no_wrap
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn no_wrap()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: tests::wrap_simple
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_simple()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: tests::to_be_or_not
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn to_be_or_not()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: tests::multiple_words_on_first_line
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn multiple_words_on_first_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: tests::long_word
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn long_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: tests::long_words
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn long_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tests::max_width
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn max_width()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: tests::leading_whitespace
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn leading_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: tests::leading_whitespace_empty_first_line
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn leading_whitespace_empty_first_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: tests::trailing_whitespace
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn trailing_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:378,1
    - Dst: Self::preserve_trailing_space
      Src: /src/textwrap/src/wrap.rs:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: tests::preserve_trailing_whitespace
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::preserve_trailing_space
    linkageType: ''
    returnType: void
    signature: fn preserve_trailing_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: tests::issue_99
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn issue_99()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:401,1
    - Dst: Self::word_separator
      Src: /src/textwrap/src/wrap.rs:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: tests::issue_129
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::word_separator
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn issue_129()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 426
    functionName: tests::wide_character_handling
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wide_character_handling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:180,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: tests::indent_empty_line
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn indent_empty_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:440,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 5
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: tests::indent_single_line
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn indent_single_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:446,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: tests::indent_first_emoji
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn indent_first_emoji()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:455,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:455,1
    - Dst: subsequent_indent
      Src: /src/textwrap/src/wrap.rs:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: tests::indent_multiple_lines
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - subsequent_indent
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn indent_multiple_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:464,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 5
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: tests::only_initial_indent_multiple_lines
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn only_initial_indent_multiple_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:470,1
    - Dst: Self::subsequent_indent
      Src: /src/textwrap/src/wrap.rs:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: tests::only_subsequent_indent_multiple_lines
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::subsequent_indent
    linkageType: ''
    returnType: void
    signature: fn only_subsequent_indent_multiple_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:479,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:479,1
    - Dst: subsequent_indent
      Src: /src/textwrap/src/wrap.rs:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: tests::indent_break_words
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - subsequent_indent
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn indent_break_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:489,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/src/wrap.rs:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 5
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: tests::initial_indent_break_words
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::initial_indent
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn initial_indent_break_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionName: tests::hyphens
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn hyphens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:500,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 6
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: tests::trailing_hyphen
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn trailing_hyphen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: tests::multiple_hyphens
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn multiple_hyphens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:511,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: tests::hyphens_flag
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn hyphens_flag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:520,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 6
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: tests::repeated_hyphens
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn repeated_hyphens()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: tests::hyphens_alphanumeric
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn hyphens_alphanumeric()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:531,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: tests::hyphens_non_alphanumeric
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn hyphens_non_alphanumeric()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: tests::multiple_splits
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn multiple_splits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:542,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 6
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: tests::forced_split
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn forced_split()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:548,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 557
    functionName: tests::multiple_unbroken_words_issue_193
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn multiple_unbroken_words_issue_193()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:561,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: tests::very_narrow_lines_issue_193
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn very_narrow_lines_issue_193()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:568,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: tests::simple_hyphens
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn simple_hyphens()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:574,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: tests::no_hyphenation
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn no_hyphenation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Standard::from_embedded
      Src: /src/textwrap/src/wrap.rs:581,1
    - Dst: unwrap
      Src: /src/textwrap/src/wrap.rs:581,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:582,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:588,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:588,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/src/wrap.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 593
    functionName: tests::auto_hyphenation_double_hyphenation
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - WordSplitter::Hyphenation
    - Options::new
    - unwrap
    - Standard::from_embedded
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn auto_hyphenation_double_hyphenation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Standard::from_embedded
      Src: /src/textwrap/src/wrap.rs:598,1
    - Dst: unwrap
      Src: /src/textwrap/src/wrap.rs:598,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:599,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:605,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:605,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/src/wrap.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: tests::auto_hyphenation_issue_158
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - WordSplitter::Hyphenation
    - Options::new
    - unwrap
    - Standard::from_embedded
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn auto_hyphenation_issue_158()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Standard::from_embedded
      Src: /src/textwrap/src/wrap.rs:617,1
    - Dst: unwrap
      Src: /src/textwrap/src/wrap.rs:617,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:618,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:618,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/src/wrap.rs:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: tests::split_len_hyphenation
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - WordSplitter::Hyphenation
    - Options::new
    - unwrap
    - Standard::from_embedded
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn split_len_hyphenation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Standard::from_embedded
      Src: /src/textwrap/src/wrap.rs:631,1
    - Dst: unwrap
      Src: /src/textwrap/src/wrap.rs:631,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:632,1
    - Dst: Self::word_splitter
      Src: /src/textwrap/src/wrap.rs:632,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/src/wrap.rs:632,1
    - Dst: wrap
      Src: /src/textwrap/src/wrap.rs:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 627
    functionDepth: 8
    functionLinenumber: 627
    functionLinenumberEnd: 644
    functionName: tests::borrowed_lines
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - wrap
    - WordSplitter::Hyphenation
    - Options::new
    - unwrap
    - Standard::from_embedded
    - Self::word_splitter
    linkageType: ''
    returnType: void
    signature: fn borrowed_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Standard::from_embedded
      Src: /src/textwrap/src/wrap.rs:649,1
    - Dst: unwrap
      Src: /src/textwrap/src/wrap.rs:649,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:650,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/wrap.rs:650,1
    - Dst: Options::word_splitter
      Src: /src/textwrap/src/wrap.rs:656,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/src/wrap.rs:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 648
    functionDepth: 6
    functionLinenumber: 648
    functionLinenumberEnd: 661
    functionName: tests::auto_hyphenation_with_hyphen
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - WordSplitter::Hyphenation
    - Options::word_splitter
    - Options::new
    - unwrap
    - Self::break_words
    - Standard::from_embedded
    linkageType: ''
    returnType: void
    signature: fn auto_hyphenation_with_hyphen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 666
    functionName: tests::break_words
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn break_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:672,1
    - Dst: Self::word_separator
      Src: /src/textwrap/src/wrap.rs:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: tests::break_words_wide_characters
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::word_separator
    - Options::new
    linkageType: ''
    returnType: void
    signature: fn break_words_wide_characters()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 679
    functionName: tests::break_words_zero_width
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn break_words_zero_width()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 684
    functionName: tests::break_long_first_word
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn break_long_first_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: tests::wrap_preserves_line_breaks_trims_whitespace
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_preserves_line_breaks_trims_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:695,1
    - Dst: Self::preserve_trailing_space
      Src: /src/textwrap/src/wrap.rs:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 699
    functionName: tests::wrap_preserves_line_breaks_and_trailing_whitespace
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::preserve_trailing_space
    linkageType: ''
    returnType: void
    signature: fn wrap_preserves_line_breaks_and_trailing_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap
      Src: /src/textwrap/src/wrap.rs:704,1
    - Dst: Options::new
      Src: /src/textwrap/src/wrap.rs:706,1
    - Dst: Self::preserve_trailing_space
      Src: /src/textwrap/src/wrap.rs:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 8
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: tests::preserve_trailing_space_borrows_spaces
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached:
    - Self::preserve_trailing_space
    - Options::new
    - wrap
    linkageType: ''
    returnType: void
    signature: fn preserve_trailing_space_borrows_spaces()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: tests::wrap_colored_text
    functionSourceFile: /src/textwrap/src/wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_colored_text()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: WordSeparator::eq
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: WordSeparator::new
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub const fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_words_ascii_space
      Src: /src/textwrap/src/word_separators.rs:188,1
    - Dst: find_words_unicode_break_properties
      Src: /src/textwrap/src/word_separators.rs:190,1
    - Dst: func
      Src: /src/textwrap/src/word_separators.rs:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: WordSeparator::find_words
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached:
    - find_words_unicode_break_properties
    - find_words_ascii_space
    - func
    linkageType: ''
    returnType: Box
    signature: 'pub fn find_words<''a>(&self, line: &''a str) -> Box<dyn Iterator<Item
      = Word<''a>> + ''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: char_indices
      Src: /src/textwrap/src/word_separators.rs:199,1
    - Dst: Box::new
      Src: /src/textwrap/src/word_separators.rs:201,1
    - Dst: std::iter::from_fn
      Src: /src/textwrap/src/word_separators.rs:201,1
    - Dst: by_ref
      Src: /src/textwrap/src/word_separators.rs:202,1
    - Dst: Word::from
      Src: /src/textwrap/src/word_separators.rs:204,1
    - Dst: Some
      Src: /src/textwrap/src/word_separators.rs:207,1
    - Dst: len
      Src: /src/textwrap/src/word_separators.rs:213,1
    - Dst: Word::from
      Src: /src/textwrap/src/word_separators.rs:214,1
    - Dst: len
      Src: /src/textwrap/src/word_separators.rs:215,1
    - Dst: Some
      Src: /src/textwrap/src/word_separators.rs:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - line
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: find_words_ascii_space
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 1
    functionsReached:
    - char_indices
    - Box::new
    - by_ref
    - Word::from
    - Some
    - len
    - std::iter::from_fn
    linkageType: ''
    returnType: Box
    signature: 'fn find_words_ascii_space<''a>(line: &''a str) -> Box<dyn Iterator<Item
      = Word<''a>> + ''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::with_capacity
      Src: /src/textwrap/src/word_separators.rs:226,1
    - Dst: len
      Src: /src/textwrap/src/word_separators.rs:226,1
    - Dst: chars
      Src: /src/textwrap/src/word_separators.rs:228,1
    - Dst: next
      Src: /src/textwrap/src/word_separators.rs:229,1
    - Dst: core::skip_ansi_escape_sequence
      Src: /src/textwrap/src/word_separators.rs:230,1
    - Dst: push
      Src: /src/textwrap/src/word_separators.rs:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: strip_ansi_escape_sequences
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 1
    functionsReached:
    - chars
    - core::skip_ansi_escape_sequence
    - len
    - next
    - push
    - String::with_capacity
    linkageType: ''
    returnType: String
    signature: 'fn strip_ansi_escape_sequences(text: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: char_indices
      Src: /src/textwrap/src/word_separators.rs:256,1
    - Dst: std::iter::from_fn
      Src: /src/textwrap/src/word_separators.rs:257,1
    - Dst: next
      Src: /src/textwrap/src/word_separators.rs:257,1
    - Dst: core::skip_ansi_escape_sequence
      Src: /src/textwrap/src/word_separators.rs:260,1
    - Dst: by_ref
      Src: /src/textwrap/src/word_separators.rs:260,1
    - Dst: map
      Src: /src/textwrap/src/word_separators.rs:260,1
    - Dst: len_utf8
      Src: /src/textwrap/src/word_separators.rs:261,1
    - Dst: Some
      Src: /src/textwrap/src/word_separators.rs:263,1
    - Dst: strip_ansi_escape_sequences
      Src: /src/textwrap/src/word_separators.rs:268,1
    - Dst: with
      Src: /src/textwrap/src/word_separators.rs:269,1
    - Dst: segment_str
      Src: /src/textwrap/src/word_separators.rs:270,1
    - Dst: filter
      Src: /src/textwrap/src/word_separators.rs:270,1
    - Dst: filter
      Src: /src/textwrap/src/word_separators.rs:270,1
    - Dst: chars
      Src: /src/textwrap/src/word_separators.rs:275,1
    - Dst: next_back
      Src: /src/textwrap/src/word_separators.rs:275,1
    - Dst: "segment_str(&stripped)\n            .filter(|&idx| idx > 0)\n        \
        \    .filter(|&idx| {\n                #[allow(clippy::match_like_matches_macro)]\n\
        \                match &stripped[..idx].chars().next_back() {\n          \
        \          // We suppress breaks at \u2018-\u2019 since we want to control\n\
        \                    // this via the WordSplitter.\n                    Some('-')\
        \ => false,\n                    // Soft hyphens are currently not supported\
        \ since we\n                    // require all `Word` fragments to be continuous\
        \ in\n                    // the input string.\n                    Some(SHY)\
        \ => false,\n                    // Other breaks should be fine!\n       \
        \             _ => true,\n                }\n            })\n            .collect::<Vec<_>>"
      Src: /src/textwrap/src/word_separators.rs:270,1
    - Dst: into_iter
      Src: /src/textwrap/src/word_separators.rs:289,1
    - Dst: next_back
      Src: /src/textwrap/src/word_separators.rs:294,1
    - Dst: Box::new
      Src: /src/textwrap/src/word_separators.rs:297,1
    - Dst: std::iter::from_fn
      Src: /src/textwrap/src/word_separators.rs:297,1
    - Dst: by_ref
      Src: /src/textwrap/src/word_separators.rs:298,1
    - Dst: find
      Src: /src/textwrap/src/word_separators.rs:299,1
    - Dst: Word::from
      Src: /src/textwrap/src/word_separators.rs:300,1
    - Dst: Some
      Src: /src/textwrap/src/word_separators.rs:302,1
    - Dst: len
      Src: /src/textwrap/src/word_separators.rs:306,1
    - Dst: Word::from
      Src: /src/textwrap/src/word_separators.rs:307,1
    - Dst: len
      Src: /src/textwrap/src/word_separators.rs:308,1
    - Dst: Some
      Src: /src/textwrap/src/word_separators.rs:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 90
    argCount: 1
    argNames:
    - line
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 314
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 314
    functionName: find_words_unicode_break_properties
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 1
    functionsReached:
    - core::skip_ansi_escape_sequence
    - Word::from
    - len
    - next_back
    - next
    - into_iter
    - segment_str
    - Some
    - with
    - strip_ansi_escape_sequences
    - find
    - chars
    - char_indices
    - by_ref
    - map
    - len_utf8
    - std::iter::from_fn
    - Box::new
    - filter
    - "segment_str(&stripped)\n            .filter(|&idx| idx > 0)\n            .filter(|&idx|\
      \ {\n                #[allow(clippy::match_like_matches_macro)]\n          \
      \      match &stripped[..idx].chars().next_back() {\n                    //\
      \ We suppress breaks at \u2018-\u2019 since we want to control\n           \
      \         // this via the WordSplitter.\n                    Some('-') => false,\n\
      \                    // Soft hyphens are currently not supported since we\n\
      \                    // require all `Word` fragments to be continuous in\n \
      \                   // the input string.\n                    Some(SHY) => false,\n\
      \                    // Other breaks should be fine!\n                    _\
      \ => true,\n                }\n            })\n            .collect::<Vec<_>>"
    linkageType: ''
    returnType: Box
    signature: 'fn find_words_unicode_break_properties<''a>(line: &''a str,) -> Box<dyn
      Iterator<Item = Word<''a>> + ''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_iter
      Src: /src/textwrap/src/word_separators.rs:329,1
    - Dst: map
      Src: /src/textwrap/src/word_separators.rs:329,1
    - Dst: collect
      Src: /src/textwrap/src/word_separators.rs:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - words
    argTypes:
    - Vec<&str>
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: tests::to_words
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached:
    - into_iter
    - collect
    - map
    linkageType: ''
    returnType: Vec
    signature: 'fn to_words(words: Vec<&str>) -> Vec<Word<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: tests::find_words_colored_text
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn find_words_colored_text()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: tests::find_words_color_inside_word
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn find_words_color_inside_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: tests::word_separator_new
    functionSourceFile: /src/textwrap/src/word_separators.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn word_separator_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: WrapAlgorithm::eq
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WrapAlgorithm::new_optimal_fit
      Src: /src/textwrap/src/wrap_algorithms.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: WrapAlgorithm::new
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 2
    functionsReached:
    - WrapAlgorithm::new_optimal_fit
    linkageType: ''
    returnType: Self
    signature: pub const fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WrapAlgorithm::OptimalFit
      Src: /src/textwrap/src/wrap_algorithms.rs:147,1
    - Dst: Penalties::new
      Src: /src/textwrap/src/wrap_algorithms.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: WrapAlgorithm::new_optimal_fit
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 2
    functionsReached:
    - Penalties::new
    - WrapAlgorithm::OptimalFit
    linkageType: ''
    returnType: Self
    signature: pub const fn new_optimal_fit() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''b [usize]::iter'
      Src: /src/textwrap/src/wrap_algorithms.rs:165,1
    - Dst: map
      Src: /src/textwrap/src/wrap_algorithms.rs:165,1
    - Dst: iter().map(|w| *w as f64).collect::<Vec<_>>
      Src: /src/textwrap/src/wrap_algorithms.rs:165,1
    - Dst: wrap_first_fit
      Src: /src/textwrap/src/wrap_algorithms.rs:168,1
    - Dst: optimal_fit::wrap_optimal_fit
      Src: /src/textwrap/src/wrap_algorithms.rs:174,1
    - Dst: Result::unwrap
      Src: /src/textwrap/src/wrap_algorithms.rs:174,1
    - Dst: func
      Src: /src/textwrap/src/wrap_algorithms.rs:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - words
    - line_widths
    argTypes:
    - '&''b [Word<''a>]'
    - '&''b [usize]'
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: WrapAlgorithm::wrap
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 0
    functionsReached:
    - '&''b [usize]::iter'
    - iter().map(|w| *w as f64).collect::<Vec<_>>
    - map
    - wrap_first_fit
    - optimal_fit::wrap_optimal_fit
    - func
    - Result::unwrap
    linkageType: ''
    returnType: Vec
    signature: 'pub fn wrap<''a, ''b>(&self,words: &''b [Word<''a>],line_widths: &''b
      [usize],) -> Vec<&''b [Word<''a>]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WrapAlgorithm::new
      Src: /src/textwrap/src/wrap_algorithms.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: WrapAlgorithm::default
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 0
    functionsReached:
    - WrapAlgorithm::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[f64]::last'
      Src: /src/textwrap/src/wrap_algorithms.rs:338,1
    - Dst: copied
      Src: /src/textwrap/src/wrap_algorithms.rs:338,1
    - Dst: unwrap_or
      Src: /src/textwrap/src/wrap_algorithms.rs:338,1
    - Dst: Vec::new
      Src: /src/textwrap/src/wrap_algorithms.rs:339,1
    - Dst: '&''a [T]::iter'
      Src: /src/textwrap/src/wrap_algorithms.rs:343,1
    - Dst: enumerate
      Src: /src/textwrap/src/wrap_algorithms.rs:343,1
    - Dst: '&[f64]::get'
      Src: /src/textwrap/src/wrap_algorithms.rs:344,1
    - Dst: len
      Src: /src/textwrap/src/wrap_algorithms.rs:345,1
    - Dst: usize::copied
      Src: /src/textwrap/src/wrap_algorithms.rs:344,1
    - Dst: unwrap_or
      Src: /src/textwrap/src/wrap_algorithms.rs:344,1
    - Dst: width
      Src: /src/textwrap/src/wrap_algorithms.rs:348,1
    - Dst: penalty_width
      Src: /src/textwrap/src/wrap_algorithms.rs:348,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms.rs:349,1
    - Dst: width
      Src: /src/textwrap/src/wrap_algorithms.rs:353,1
    - Dst: whitespace_width
      Src: /src/textwrap/src/wrap_algorithms.rs:353,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms.rs:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 2
    argNames:
    - fragments
    - line_widths
    argTypes:
    - '&''a [T]'
    - '&[f64]'
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: wrap_first_fit
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 3
    functionsReached:
    - unwrap_or
    - '&''a [T]::iter'
    - '&[f64]::get'
    - whitespace_width
    - Vec::new
    - len
    - '&[f64]::last'
    - width
    - push
    - penalty_width
    - copied
    - usize::copied
    - enumerate
    linkageType: ''
    returnType: Vec
    signature: 'pub fn wrap_first_fit<''a, T: Fragment>(fragments: &''a [T], line_widths:
      &[f64]) -> Vec<&''a [T]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: tests::wrap_string_longer_than_f64
    functionSourceFile: /src/textwrap/src/wrap_algorithms.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_string_longer_than_f64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut I::next'
      Src: /src/textwrap/src/core.rs:57,1
    - Dst: Some
      Src: /src/textwrap/src/core.rs:58,1
    - Dst: contains
      Src: /src/textwrap/src/core.rs:63,1
    - Dst: Some
      Src: /src/textwrap/src/core.rs:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - ch
    - chars
    argTypes:
    - char
    - '&mut I'
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: skip_ansi_escape_sequence
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 4
    functionsReached:
    - contains
    - '&mut I::next'
    - Some
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn skip_ansi_escape_sequence<I: Iterator<Item = char>>(ch:
      char, chars: &mut I) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: ch_width
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn ch_width(ch: char) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/textwrap/src/core.rs:196,1
    - Dst: next
      Src: /src/textwrap/src/core.rs:198,1
    - Dst: skip_ansi_escape_sequence
      Src: /src/textwrap/src/core.rs:199,1
    - Dst: ch_width
      Src: /src/textwrap/src/core.rs:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: display_width
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 4
    functionsReached:
    - next
    - skip_ansi_escape_sequence
    - chars
    - ch_width
    linkageType: ''
    returnType: usize
    signature: 'pub fn display_width(text: &str) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Word::deref
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trim_end_matches
      Src: /src/textwrap/src/core.rs:260,1
    - Dst: display_width
      Src: /src/textwrap/src/core.rs:263,1
    - Dst: len
      Src: /src/textwrap/src/core.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - word
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: Word::from
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 3
    functionsReached:
    - display_width
    - trim_end_matches
    - len
    linkageType: ''
    returnType: Word
    signature: 'pub fn from(word: &str) -> Word<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: char_indices
      Src: /src/textwrap/src/core.rs:283,1
    - Dst: std::iter::from_fn
      Src: /src/textwrap/src/core.rs:287,1
    - Dst: next
      Src: /src/textwrap/src/core.rs:288,1
    - Dst: skip_ansi_escape_sequence
      Src: /src/textwrap/src/core.rs:289,1
    - Dst: by_ref
      Src: /src/textwrap/src/core.rs:289,1
    - Dst: map
      Src: /src/textwrap/src/core.rs:289,1
    - Dst: ch_width
      Src: /src/textwrap/src/core.rs:293,1
    - Dst: ch_width
      Src: /src/textwrap/src/core.rs:301,1
    - Dst: Some
      Src: /src/textwrap/src/core.rs:302,1
    - Dst: ch_width
      Src: /src/textwrap/src/core.rs:305,1
    - Dst: len
      Src: /src/textwrap/src/core.rs:308,1
    - Dst: len
      Src: /src/textwrap/src/core.rs:315,1
    - Dst: Some
      Src: /src/textwrap/src/core.rs:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 1
    argNames:
    - line_width
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 321
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 321
    functionName: Word::break_apart
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached:
    - char_indices
    - by_ref
    - map
    - Some
    - ch_width
    - len
    - next
    - skip_ansi_escape_sequence
    - std::iter::from_fn
    linkageType: ''
    returnType: impl Iterator
    signature: 'pub fn break_apart<''b>(&''b self, line_width: usize) -> impl Iterator<Item
      = Word<''a>> + ''b'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Word::width
    functionSourceFile: /src/textwrap/fuzz/fuzz_targets/wrap_first_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Word::whitespace_width
    functionSourceFile: /src/textwrap/fuzz/fuzz_targets/wrap_first_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn whitespace_width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Word::penalty_width
    functionSourceFile: /src/textwrap/fuzz/fuzz_targets/wrap_first_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn penalty_width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/textwrap/src/core.rs:354,1
    - Dst: Self::extend
      Src: /src/textwrap/src/core.rs:357,1
    - Dst: break_apart
      Src: /src/textwrap/src/core.rs:357,1
    - Dst: Self::push
      Src: /src/textwrap/src/core.rs:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - words
    - line_width
    argTypes:
    - I
    - usize
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: break_words
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 12
    functionsReached:
    - break_apart
    - Vec::new
    - Self::push
    - Self::extend
    linkageType: ''
    returnType: Vec
    signature: 'pub fn break_words<''a, I>(words: I, line_width: usize) -> Vec<Word<''a>>whereI:
      IntoIterator<Item = Word<''a>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chars
      Src: /src/textwrap/src/core.rs:375,1
    - Dst: next
      Src: /src/textwrap/src/core.rs:376,1
    - Dst: unwrap
      Src: /src/textwrap/src/core.rs:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: tests::skip_ansi_escape_sequence_works
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached:
    - next
    - chars
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn skip_ansi_escape_sequence_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_emoji
      Src: /src/textwrap/src/core.rs:389,1
    - Dst: is_emoji
      Src: /src/textwrap/src/core.rs:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 420
    functionName: tests::emojis_have_correct_width
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached:
    - is_emoji
    linkageType: ''
    returnType: void
    signature: fn emojis_have_correct_width()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: tests::display_width_works
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn display_width_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: tests::display_width_narrow_emojis
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn display_width_narrow_emojis()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: tests::display_width_narrow_emojis_variant_selector
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn display_width_narrow_emojis_variant_selector()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: tests::display_width_emojis
    functionSourceFile: /src/textwrap/src/core.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn display_width_emojis()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: terminal_size::terminal_size
      Src: /src/textwrap/src/termwidth.rs:28,1
    - Dst: map_or
      Src: /src/textwrap/src/termwidth.rs:28,1
    - Dst: Self::into
      Src: /src/textwrap/src/termwidth.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: termwidth
    functionSourceFile: /src/textwrap/src/termwidth.rs
    functionUses: 1
    functionsReached:
    - terminal_size::terminal_size
    - map_or
    - Self::into
    linkageType: ''
    returnType: usize
    signature: pub fn termwidth() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/textwrap/src/termwidth.rs:50,1
    - Dst: termwidth
      Src: /src/textwrap/src/termwidth.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Options::with_termwidth
    functionSourceFile: /src/textwrap/src/termwidth.rs
    functionUses: 0
    functionsReached:
    - termwidth
    - Self::new
    linkageType: ''
    returnType: Self
    signature: pub fn with_termwidth() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/refill.rs:65,1
    - Dst: lines
      Src: /src/textwrap/src/refill.rs:66,1
    - Dst: enumerate
      Src: /src/textwrap/src/refill.rs:66,1
    - Dst: std::cmp::max
      Src: /src/textwrap/src/refill.rs:67,1
    - Dst: core::display_width
      Src: /src/textwrap/src/refill.rs:67,1
    - Dst: trim_start_matches
      Src: /src/textwrap/src/refill.rs:68,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:69,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:69,1
    - Dst: char_indices
      Src: /src/textwrap/src/refill.rs:76,1
    - Dst: zip
      Src: /src/textwrap/src/refill.rs:76,1
    - Dst: chars
      Src: /src/textwrap/src/refill.rs:76,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:82,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:82,1
    - Dst: String::with_capacity
      Src: /src/textwrap/src/refill.rs:88,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:88,1
    - Dst: line_ending::NonEmptyLines
      Src: /src/textwrap/src/refill.rs:91,1
    - Dst: enumerate
      Src: /src/textwrap/src/refill.rs:91,1
    - Dst: push_str
      Src: /src/textwrap/src/refill.rs:93,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:93,1
    - Dst: push
      Src: /src/textwrap/src/refill.rs:95,1
    - Dst: push_str
      Src: /src/textwrap/src/refill.rs:96,1
    - Dst: len
      Src: /src/textwrap/src/refill.rs:96,1
    - Dst: ends_with
      Src: /src/textwrap/src/refill.rs:107,1
    - Dst: Self::as_str
      Src: /src/textwrap/src/refill.rs:107,1
    - Dst: push_str
      Src: /src/textwrap/src/refill.rs:108,1
    - Dst: Self::as_str
      Src: /src/textwrap/src/refill.rs:108,1
    - Dst: None::unwrap_or
      Src: /src/textwrap/src/refill.rs:112,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 126
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 114
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 114
    functionName: unfill
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 16
    functionsReached:
    - push_str
    - Self::as_str
    - chars
    - zip
    - char_indices
    - lines
    - trim_start_matches
    - len
    - None::unwrap_or
    - line_ending::NonEmptyLines
    - std::cmp::max
    - core::display_width
    - Options::new
    - push
    - ends_with
    - enumerate
    - String::with_capacity
    linkageType: ''
    returnType: (String, Options
    signature: 'pub fn unfill(text: &str) -> (String, Options<''_>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Opt::into
      Src: /src/textwrap/src/refill.rs:173,1
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:174,1
    - Dst: strip_suffix
      Src: /src/textwrap/src/refill.rs:176,1
    - Dst: as_str
      Src: /src/textwrap/src/refill.rs:176,1
    - Dst: as_str
      Src: /src/textwrap/src/refill.rs:177,1
    - Dst: fill
      Src: /src/textwrap/src/refill.rs:181,1
    - Dst: unwrap_or
      Src: /src/textwrap/src/refill.rs:181,1
    - Dst: is_some
      Src: /src/textwrap/src/refill.rs:184,1
    - Dst: String::push_str
      Src: /src/textwrap/src/refill.rs:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - filled_text
    - new_width_or_options
    argTypes:
    - '&str'
    - Opt
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: refill
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unwrap_or
    - fill
    - Opt::into
    - unfill
    - as_str
    - strip_suffix
    - is_some
    - String::push_str
    linkageType: ''
    returnType: String
    signature: 'pub fn refill<''a, Opt>(filled_text: &str, new_width_or_options: Opt)
      -> StringwhereOpt: Into<Options<''a>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: tests::unfill_simple
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_simple()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: tests::unfill_no_new_line
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_no_new_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: tests::unfill_simple_crlf
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_simple_crlf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: tests::unfill_mixed_new_lines
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_mixed_new_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: tests::test_unfill_consecutive_different_prefix
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn test_unfill_consecutive_different_prefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: tests::unfill_trailing_newlines
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_trailing_newlines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: tests::unfill_mixed_trailing_newlines
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_mixed_trailing_newlines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: tests::unfill_trailing_crlf
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_trailing_crlf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: tests::unfill_initial_indent
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_initial_indent()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: tests::unfill_differing_indents
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_differing_indents()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 5
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: tests::unfill_list_item
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_list_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: tests::unfill_multiple_char_prefix
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_multiple_char_prefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: tests::unfill_block_quote
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_block_quote()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: tests::unfill_only_prefixes_issue_466
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_only_prefixes_issue_466()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unfill
      Src: /src/textwrap/src/refill.rs:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: tests::unfill_trailing_newlines_issue_466
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - unfill
    linkageType: ''
    returnType: void
    signature: fn unfill_trailing_newlines_issue_466()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: tests::unfill_whitespace
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unfill_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/refill.rs:332,1
    - Dst: Self::line_ending
      Src: /src/textwrap/src/refill.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: tests::refill_convert_lf_to_crlf
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::line_ending
    linkageType: ''
    returnType: void
    signature: fn refill_convert_lf_to_crlf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/refill.rs:338,1
    - Dst: Self::line_ending
      Src: /src/textwrap/src/refill.rs:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: tests::refill_convert_crlf_to_lf
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::line_ending
    linkageType: ''
    returnType: void
    signature: fn refill_convert_crlf_to_lf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/refill.rs:344,1
    - Dst: Self::line_ending
      Src: /src/textwrap/src/refill.rs:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: tests::refill_convert_mixed_newlines
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::line_ending
    linkageType: ''
    returnType: void
    signature: fn refill_convert_mixed_newlines()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: tests::refill_defaults_to_lf
    functionSourceFile: /src/textwrap/src/refill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn refill_defaults_to_lf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Opt::into
      Src: /src/textwrap/src/columns.rs:76,1
    - Dst: saturating_sub
      Src: /src/textwrap/src/columns.rs:78,1
    - Dst: core::display_width
      Src: /src/textwrap/src/columns.rs:80,1
    - Dst: saturating_sub
      Src: /src/textwrap/src/columns.rs:78,1
    - Dst: core::display_width
      Src: /src/textwrap/src/columns.rs:81,1
    - Dst: saturating_sub
      Src: /src/textwrap/src/columns.rs:78,1
    - Dst: core::display_width
      Src: /src/textwrap/src/columns.rs:82,1
    - Dst: std::cmp::max
      Src: /src/textwrap/src/columns.rs:84,1
    - Dst: '&str::repeat'
      Src: /src/textwrap/src/columns.rs:86,1
    - Dst: wrap
      Src: /src/textwrap/src/columns.rs:87,1
    - Dst: Vec::len
      Src: /src/textwrap/src/columns.rs:89,1
    - Dst: usize::from
      Src: /src/textwrap/src/columns.rs:89,1
    - Dst: Vec::len
      Src: /src/textwrap/src/columns.rs:89,1
    - Dst: Vec::new
      Src: /src/textwrap/src/columns.rs:90,1
    - Dst: String::from
      Src: /src/textwrap/src/columns.rs:92,1
    - Dst: Vec::get
      Src: /src/textwrap/src/columns.rs:94,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:96,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:97,1
    - Dst: '&str::repeat'
      Src: /src/textwrap/src/columns.rs:97,1
    - Dst: core::display_width
      Src: /src/textwrap/src/columns.rs:97,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:100,1
    - Dst: '&str::repeat'
      Src: /src/textwrap/src/columns.rs:100,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:104,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:106,1
    - Dst: push_str
      Src: /src/textwrap/src/columns.rs:109,1
    - Dst: push
      Src: /src/textwrap/src/columns.rs:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 82
    argCount: 6
    argNames:
    - text
    - columns
    - total_width_or_options
    - left_gap
    - middle_gap
    - right_gap
    argTypes:
    - '&str'
    - usize
    - Opt
    - '&str'
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 114
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 114
    functionName: wrap_columns
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 1
    functionsReached:
    - push_str
    - Vec::len
    - wrap
    - saturating_sub
    - Vec::new
    - usize::from
    - '&str::repeat'
    - Opt::into
    - std::cmp::max
    - core::display_width
    - push
    - Vec::get
    - String::from
    linkageType: ''
    returnType: Vec
    signature: 'pub fn wrap_columns<''a, Opt>(text: &str,columns: usize,total_width_or_options:
      Opt,left_gap: &str,middle_gap: &str,right_gap: &str,) -> Vec<String>whereOpt:
      Into<Options<''a>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tests::wrap_columns_empty_text
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_empty_text()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: tests::wrap_columns_single_column
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_single_column()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: tests::wrap_columns_uneven_columns
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_uneven_columns()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: tests::wrap_columns_with_emojis
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_with_emojis()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: tests::wrap_columns_big_gaps
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_big_gaps()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap_columns
      Src: /src/textwrap/src/columns.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: tests::wrap_columns_panic_with_zero_columns
    functionSourceFile: /src/textwrap/src/columns.rs
    functionUses: 0
    functionsReached:
    - wrap_columns
    linkageType: ''
    returnType: void
    signature: fn wrap_columns_panic_with_zero_columns()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: LineEnding::as_str
    functionSourceFile: /src/textwrap/src/line_ending.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub const fn as_str(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/textwrap/src/line_ending.rs:41,1
    - Dst: as_bytes
      Src: /src/textwrap/src/line_ending.rs:42,1
    - Dst: as_bytes
      Src: /src/textwrap/src/line_ending.rs:46,1
    - Dst: Some
      Src: /src/textwrap/src/line_ending.rs:47,1
    - Dst: Some
      Src: /src/textwrap/src/line_ending.rs:48,1
    - Dst: Some
      Src: /src/textwrap/src/line_ending.rs:51,1
    - Dst: is_empty
      Src: /src/textwrap/src/line_ending.rs:53,1
    - Dst: std::mem::take
      Src: /src/textwrap/src/line_ending.rs:56,1
    - Dst: Some
      Src: /src/textwrap/src/line_ending.rs:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: NonEmptyLines::next
    functionSourceFile: /src/textwrap/src/line_ending.rs
    functionUses: 0
    functionsReached:
    - Some
    - as_bytes
    - std::mem::take
    - find
    - is_empty
    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: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: tests::non_empty_lines_full_case
    functionSourceFile: /src/textwrap/src/line_ending.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn non_empty_lines_full_case()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tests::non_empty_lines_new_lines_only
    functionSourceFile: /src/textwrap/src/line_ending.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn non_empty_lines_new_lines_only()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: tests::non_empty_lines_no_input
    functionSourceFile: /src/textwrap/src/line_ending.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn non_empty_lines_no_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/options.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - width
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Options::from
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 1
    functionsReached:
    - Options::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(width: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WordSeparator::new
      Src: /src/textwrap/src/options.rs:97,1
    - Dst: WrapAlgorithm::new
      Src: /src/textwrap/src/options.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - width
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: Options::new
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 37
    functionsReached:
    - WrapAlgorithm::new
    - WordSeparator::new
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new(width: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - line_ending
    argTypes:
    - LineEnding
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Options::line_ending
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn line_ending(self, line_ending: LineEnding) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - width
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Options::width
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn width(self, width: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_indent
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Options::initial_indent
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn initial_indent(self, initial_indent: &''a str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - subsequent_indent
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: Options::subsequent_indent
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn subsequent_indent(self, subsequent_indent: &''a str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - break_words
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: Options::break_words
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn break_words(self, break_words: bool) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - word_separator
    argTypes:
    - WordSeparator
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: Options::word_separator
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: 'pub fn word_separator(self, word_separator: WordSeparator) -> Options<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wrap_algorithm
    argTypes:
    - WrapAlgorithm
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Options::wrap_algorithm
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: 'pub fn wrap_algorithm(self, wrap_algorithm: WrapAlgorithm) -> Options<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - word_splitter
    argTypes:
    - WordSplitter
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: Options::word_splitter
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: 'pub fn word_splitter(self, word_splitter: WordSplitter) -> Options<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - preserve_trailing_space
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: Options::preserve_trailing_space
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: 'pub fn preserve_trailing_space(self, preserve_trailing_space: bool)
      -> Options<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::from
      Src: /src/textwrap/src/options.rs:304,1
    - Dst: Options::new
      Src: /src/textwrap/src/options.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: tests::options_agree_with_usize
    functionSourceFile: /src/textwrap/src/options.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Options::from
    linkageType: ''
    returnType: void
    signature: fn options_agree_with_usize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::with_capacity
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:11,1
    - Dst: len
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:11,1
    - Dst: split_whitespace
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:13,1
    - Dst: len
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:14,1
    - Dst: push
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:15,1
    - Dst: push_str
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:19,1
    - Dst: push
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:20,1
    - Dst: len
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:21,1
    - Dst: truncate
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:25,1
    - Dst: len
      Src: /src/textwrap/examples/binary-sizes/src/main.rs:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 2
    argNames:
    - text
    - width
    argTypes:
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 27
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 27
    functionName: fill
    functionSourceFile: /src/textwrap/examples/binary-sizes/src/main.rs
    functionUses: 19
    functionsReached:
    - push_str
    - truncate
    - split_whitespace
    - len
    - push
    - String::with_capacity
    linkageType: ''
    returnType: String
    signature: 'fn fill(text: &str, width: usize) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::fill::fill_slow_path
      Src: /src/textwrap/src/fuzzing.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - text
    - options
    argTypes:
    - '&str'
    - Options<'_>
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: fill_slow_path
    functionSourceFile: /src/textwrap/src/fuzzing.rs
    functionUses: 1
    functionsReached:
    - crate::fill::fill_slow_path
    linkageType: ''
    returnType: String
    signature: 'pub fn fill_slow_path<''a>(text: &str, options: Options<''_>) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/textwrap/src/fill.rs:121,1
    - Dst: split
      Src: /src/textwrap/src/fill.rs:124,1
    - Dst: find_words
      Src: /src/textwrap/src/fill.rs:125,1
    - Dst: "find_words(line)\n            .collect::<Vec<_>>"
      Src: /src/textwrap/src/fill.rs:125,1
    - Dst: wrap_algorithms::wrap_first_fit
      Src: /src/textwrap/src/fill.rs:128,1
    - Dst: Vec::len
      Src: /src/textwrap/src/fill.rs:131,1
    - Dst: iter
      Src: /src/textwrap/src/fill.rs:132,1
    - Dst: map
      Src: /src/textwrap/src/fill.rs:132,1
    - Dst: len
      Src: /src/textwrap/src/fill.rs:134,1
    - Dst: len
      Src: /src/textwrap/src/fill.rs:134,1
    - Dst: "iter()\n                .map(|word| word.len() + word.whitespace.len())\n\
        \                .sum::<usize>"
      Src: /src/textwrap/src/fill.rs:132,1
    - Dst: Self::push
      Src: /src/textwrap/src/fill.rs:140,1
    - Dst: len
      Src: /src/textwrap/src/fill.rs:145,1
    - Dst: std::mem::take
      Src: /src/textwrap/src/fill.rs:148,1
    - Dst: into_bytes
      Src: /src/textwrap/src/fill.rs:148,1
    - Dst: String::from_utf8
      Src: /src/textwrap/src/fill.rs:152,1
    - Dst: unwrap
      Src: /src/textwrap/src/fill.rs:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 2
    argNames:
    - text
    - width
    argTypes:
    - '&mut String'
    - usize
    constantsTouched: []
    func_position:
      end: 153
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 153
    functionName: fill_inplace
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 11
    functionsReached:
    - Vec::len
    - split
    - map
    - Vec::new
    - Self::push
    - len
    - "find_words(line)\n            .collect::<Vec<_>>"
    - wrap_algorithms::wrap_first_fit
    - unwrap
    - iter
    - std::mem::take
    - "iter()\n                .map(|word| word.len() + word.whitespace.len())\n \
      \               .sum::<usize>"
    - find_words
    - into_bytes
    - String::from_utf8
    linkageType: ''
    returnType: void
    signature: 'pub fn fill_inplace(text: &mut String, width: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: tests::fill_simple
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn fill_simple()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/textwrap/src/fill.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: tests::fill_unicode_boundary
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: fn fill_unicode_boundary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/fill.rs:173,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/fill.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tests::non_breaking_space
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn non_breaking_space()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options::new
      Src: /src/textwrap/src/fill.rs:179,1
    - Dst: Self::break_words
      Src: /src/textwrap/src/fill.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: tests::non_breaking_hyphen
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - Options::new
    - Self::break_words
    linkageType: ''
    returnType: void
    signature: fn non_breaking_hyphen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: tests::fill_preserves_line_breaks_trims_whitespace
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn fill_preserves_line_breaks_trims_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: tests::preserve_line_breaks
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn preserve_line_breaks()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tests::break_words_line_breaks
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn break_words_line_breaks()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: tests::break_words_empty_lines
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn break_words_empty_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:229,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 7
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: tests::fill_inplace_empty
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:236,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 7
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: tests::fill_inplace_simple
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_simple()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:243,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 7
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: tests::fill_inplace_multiple_lines
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_multiple_lines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:250,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 7
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: tests::fill_inplace_long_word
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_long_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:257,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: tests::fill_inplace_no_hyphen_splitting
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_no_hyphen_splitting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:264,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 7
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: tests::fill_inplace_newlines
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_newlines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:271,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 7
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: tests::fill_inplace_newlines_reset_line_width
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_newlines_reset_line_width()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:278,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 7
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: tests::fill_inplace_leading_whitespace
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_leading_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:285,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 7
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tests::fill_inplace_trailing_whitespace
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_trailing_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/textwrap/src/fill.rs:294,1
    - Dst: fill_inplace
      Src: /src/textwrap/src/fill.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 7
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: tests::fill_inplace_interior_whitespace
    functionSourceFile: /src/textwrap/src/fill.rs
    functionUses: 0
    functionsReached:
    - String::from
    - fill_inplace
    linkageType: ''
    returnType: void
    signature: fn fill_inplace_interior_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::with_capacity
      Src: /src/textwrap/src/indentation.rs:57,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:57,1
    - Dst: trim_end
      Src: /src/textwrap/src/indentation.rs:58,1
    - Dst: split_terminator
      Src: /src/textwrap/src/indentation.rs:59,1
    - Dst: enumerate
      Src: /src/textwrap/src/indentation.rs:59,1
    - Dst: push
      Src: /src/textwrap/src/indentation.rs:61,1
    - Dst: trim
      Src: /src/textwrap/src/indentation.rs:63,1
    - Dst: is_empty
      Src: /src/textwrap/src/indentation.rs:63,1
    - Dst: push_str
      Src: /src/textwrap/src/indentation.rs:64,1
    - Dst: push_str
      Src: /src/textwrap/src/indentation.rs:66,1
    - Dst: push_str
      Src: /src/textwrap/src/indentation.rs:68,1
    - Dst: ends_with
      Src: /src/textwrap/src/indentation.rs:70,1
    - Dst: push
      Src: /src/textwrap/src/indentation.rs:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - s
    - prefix
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: indent
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 10
    functionsReached:
    - push_str
    - trim_end
    - split_terminator
    - len
    - trim
    - push
    - ends_with
    - enumerate
    - String::with_capacity
    - is_empty
    linkageType: ''
    returnType: String
    signature: 'pub fn indent(s: &str, prefix: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lines
      Src: /src/textwrap/src/indentation.rs:97,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:101,1
    - Dst: char_indices
      Src: /src/textwrap/src/indentation.rs:102,1
    - Dst: is_whitespace
      Src: /src/textwrap/src/indentation.rs:103,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:110,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:119,1
    - Dst: char_indices
      Src: /src/textwrap/src/indentation.rs:120,1
    - Dst: zip
      Src: /src/textwrap/src/indentation.rs:120,1
    - Dst: chars
      Src: /src/textwrap/src/indentation.rs:120,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:129,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:129,1
    - Dst: String::new
      Src: /src/textwrap/src/indentation.rs:135,1
    - Dst: lines
      Src: /src/textwrap/src/indentation.rs:136,1
    - Dst: starts_with
      Src: /src/textwrap/src/indentation.rs:137,1
    - Dst: chars
      Src: /src/textwrap/src/indentation.rs:137,1
    - Dst: any
      Src: /src/textwrap/src/indentation.rs:137,1
    - Dst: is_whitespace
      Src: /src/textwrap/src/indentation.rs:137,1
    - Dst: split_at
      Src: /src/textwrap/src/indentation.rs:138,1
    - Dst: len
      Src: /src/textwrap/src/indentation.rs:138,1
    - Dst: Self::push_str
      Src: /src/textwrap/src/indentation.rs:139,1
    - Dst: Self::push
      Src: /src/textwrap/src/indentation.rs:141,1
    - Dst: Self::ends_with
      Src: /src/textwrap/src/indentation.rs:144,1
    - Dst: ends_with
      Src: /src/textwrap/src/indentation.rs:144,1
    - Dst: Self::len
      Src: /src/textwrap/src/indentation.rs:145,1
    - Dst: Self::truncate
      Src: /src/textwrap/src/indentation.rs:146,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 108
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 150
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 150
    functionName: dedent
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - Self::push_str
    - is_whitespace
    - chars
    - char_indices
    - lines
    - Self::push
    - len
    - split_at
    - ends_with
    - Self::truncate
    - starts_with
    - zip
    - Self::len
    - Self::ends_with
    - any
    - String::new
    linkageType: ''
    returnType: String
    signature: 'pub fn dedent(s: &str) -> String'
  - 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: tests::indent_empty
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn indent_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:164,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: tests::indent_nonempty
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn indent_nonempty()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: tests::dedent_empty
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn dedent_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:203,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: tests::dedent_multi_line
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_multi_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:219,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: tests::dedent_empty_line
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_empty_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:237,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: tests::dedent_blank_line
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_blank_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:259,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: tests::dedent_whitespace_line
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_whitespace_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:281,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: tests::dedent_mixed_whitespace
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_mixed_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:295,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: tests::dedent_tabbed_whitespace
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_tabbed_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:309,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: tests::dedent_mixed_tabbed_whitespace
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_mixed_tabbed_whitespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:323,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tests::dedent_mixed_tabbed_whitespace2
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_mixed_tabbed_whitespace2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:337,1
    - Dst: join
      Src: /src/textwrap/src/indentation.rs:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: tests::dedent_preserve_no_terminating_newline
    functionSourceFile: /src/textwrap/src/indentation.rs
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: fn dedent_preserve_no_terminating_newline()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: language
      Src: /src/textwrap/src/word_splitters.rs:108,1
    - Dst: language
      Src: /src/textwrap/src/word_splitters.rs:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&WordSplitter'
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: WordSplitter::eq
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached:
    - language
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &WordSplitter) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/textwrap/src/word_splitters.rs:133,1
    - Dst: Vec::new
      Src: /src/textwrap/src/word_splitters.rs:135,1
    - Dst: match_indices
      Src: /src/textwrap/src/word_splitters.rs:137,1
    - Dst: chars
      Src: /src/textwrap/src/word_splitters.rs:141,1
    - Dst: next_back
      Src: /src/textwrap/src/word_splitters.rs:141,1
    - Dst: chars
      Src: /src/textwrap/src/word_splitters.rs:142,1
    - Dst: next
      Src: /src/textwrap/src/word_splitters.rs:142,1
    - Dst: filter
      Src: /src/textwrap/src/word_splitters.rs:144,1
    - Dst: is_alphanumeric
      Src: /src/textwrap/src/word_splitters.rs:144,1
    - Dst: is_some
      Src: /src/textwrap/src/word_splitters.rs:144,1
    - Dst: Option::filter
      Src: /src/textwrap/src/word_splitters.rs:145,1
    - Dst: is_alphanumeric
      Src: /src/textwrap/src/word_splitters.rs:145,1
    - Dst: is_some
      Src: /src/textwrap/src/word_splitters.rs:145,1
    - Dst: push
      Src: /src/textwrap/src/word_splitters.rs:147,1
    - Dst: splitter_func
      Src: /src/textwrap/src/word_splitters.rs:153,1
    - Dst: hyphenate
      Src: /src/textwrap/src/word_splitters.rs:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - word
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: WordSplitter::split_points
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached:
    - chars
    - Vec::new
    - filter
    - hyphenate
    - next_back
    - next
    - is_alphanumeric
    - match_indices
    - push
    - Option::filter
    - is_some
    - splitter_func
    linkageType: ''
    returnType: Vec
    signature: 'pub fn split_points(&self, word: &str) -> Vec<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_iter
      Src: /src/textwrap/src/word_splitters.rs:176,1
    - Dst: flat_map
      Src: /src/textwrap/src/word_splitters.rs:176,1
    - Dst: Options::split_points
      Src: /src/textwrap/src/word_splitters.rs:178,1
    - Dst: Vec::into_iter
      Src: /src/textwrap/src/word_splitters.rs:178,1
    - Dst: std::iter::from_fn
      Src: /src/textwrap/src/word_splitters.rs:179,1
    - Dst: Vec::next
      Src: /src/textwrap/src/word_splitters.rs:180,1
    - Dst: ends_with
      Src: /src/textwrap/src/word_splitters.rs:181,1
    - Dst: core::display_width
      Src: /src/textwrap/src/word_splitters.rs:184,1
    - Dst: Some
      Src: /src/textwrap/src/word_splitters.rs:189,1
    - Dst: len
      Src: /src/textwrap/src/word_splitters.rs:192,1
    - Dst: core::display_width
      Src: /src/textwrap/src/word_splitters.rs:195,1
    - Dst: len
      Src: /src/textwrap/src/word_splitters.rs:199,1
    - Dst: Some
      Src: /src/textwrap/src/word_splitters.rs:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 2
    argNames:
    - words
    - word_splitter
    argTypes:
    - I
    - '&''a WordSplitter'
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: split_words
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached:
    - Vec::into_iter
    - Options::split_points
    - Some
    - len
    - into_iter
    - Vec::next
    - ends_with
    - core::display_width
    - std::iter::from_fn
    - flat_map
    linkageType: ''
    returnType: impl Iterator
    signature: 'pub fn split_words<''a, I>(words: I,word_splitter: &''a WordSplitter,)
      -> impl Iterator<Item = Word<''a>>whereI: IntoIterator<Item = Word<''a>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: tests::split_words_no_words
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_no_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: tests::split_words_empty_word
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_empty_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: tests::split_words_single_word
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_single_word()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: tests::split_words_hyphen_splitter
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_hyphen_splitter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: tests::split_words_no_hyphenation
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_no_hyphenation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 301
    functionName: tests::split_words_adds_penalty
    functionSourceFile: /src/textwrap/src/word_splitters.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn split_words_adds_penalty()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: Penalties::new
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub const fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Penalties::default
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:166,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:167,1
    - Dst: RefCell::new
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: LineNumbers::new
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 1
    functionsReached:
    - RefCell::new
    - Vec::with_capacity
    - push
    linkageType: ''
    returnType: Self
    signature: 'fn new(size: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: borrow
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:174,1
    - Dst: len
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:174,1
    - Dst: borrow
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:175,1
    - Dst: len
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:175,1
    - Dst: LineNumbers::get
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:176,1
    - Dst: borrow_mut
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:177,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:177,1
    - Dst: borrow
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - i
    - minima
    argTypes:
    - usize
    - '&[(usize, T)]'
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: LineNumbers::get
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 1
    functionsReached:
    - borrow_mut
    - len
    - push
    - LineNumbers::get
    - borrow
    linkageType: ''
    returnType: usize
    signature: 'fn get<T>(&self, i: usize, minima: &[(usize, T)]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: OverflowError::fmt
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''b [f64]::last'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:308,1
    - Dst: copied
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:308,1
    - Dst: unwrap_or
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:308,1
    - Dst: Vec::with_capacity
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:309,1
    - Dst: '&''a [T]::len'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:309,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:311,1
    - Dst: width
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:313,1
    - Dst: whitespace_width
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:313,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:314,1
    - Dst: LineNumbers::new
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:317,1
    - Dst: '&''a [T]::len'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:317,1
    - Dst: smawk::online_column_minima
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:319,1
    - Dst: len
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:319,1
    - Dst: Self::get
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:321,1
    - Dst: '&''b [f64]::get'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:322,1
    - Dst: usize::copied
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:322,1
    - Dst: unwrap_or
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:322,1
    - Dst: max
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:326,1
    - Dst: whitespace_width
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:331,1
    - Dst: penalty_width
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:332,1
    - Dst: '&''a [T]::len'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:346,1
    - Dst: penalty_width
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:361,1
    - Dst: is_infinite
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:371,1
    - Dst: Err
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:372,1
    - Dst: Vec::with_capacity
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:376,1
    - Dst: Self::get
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:376,1
    - Dst: '&''a [T]::len'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:376,1
    - Dst: '&''a [T]::len'
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:377,1
    - Dst: push
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:380,1
    - Dst: reverse
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:387,1
    - Dst: Ok
      Src: /src/textwrap/src/wrap_algorithms/optimal_fit.rs:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 134
    argCount: 3
    argNames:
    - fragments
    - line_widths
    - penalties
    argTypes:
    - '&''a [T]'
    - '&''b [f64]'
    - '&''b Penalties'
    constantsTouched: []
    func_position:
      end: 389
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 389
    functionName: wrap_optimal_fit
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 2
    functionsReached:
    - Ok
    - len
    - Vec::with_capacity
    - push
    - is_infinite
    - '&''a [T]::len'
    - '&''b [f64]::get'
    - unwrap_or
    - whitespace_width
    - '&''b [f64]::last'
    - width
    - penalty_width
    - Err
    - copied
    - Self::get
    - max
    - reverse
    - LineNumbers::new
    - usize::copied
    - smawk::online_column_minima
    linkageType: ''
    returnType: Result
    signature: 'pub fn wrap_optimal_fit<''a, ''b, T: Fragment>(fragments: &''a [T],line_widths:
      &''b [f64],penalties: &''b Penalties,) -> Result<Vec<&''a [T]>, OverflowError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: tests::wrap_fragments_with_infinite_widths
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_fragments_with_infinite_widths()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: tests::wrap_fragments_with_huge_widths
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_fragments_with_huge_widths()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: tests::wrap_fragments_with_large_widths
    functionSourceFile: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn wrap_fragments_with_large_widths()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::cmp::max
      Src: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: Penalties::into
    functionSourceFile: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs
    functionUses: 0
    functionsReached:
    - std::cmp::max
    linkageType: ''
    returnType: wrap_algorithms::Penalties
    signature: fn into(self) -> wrap_algorithms::Penalties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs:4,1
    - Dst: textwrap::wrap_algorithms::wrap_optimal_fit
      Src: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: fuzz_target
    functionSourceFile: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs
    functionUses: 0
    functionsReached:
    - into
    - textwrap::wrap_algorithms::wrap_optimal_fit
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::args
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:144,1
    - Dst: collect::<Vec<String>>
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:144,1
    - Dst: iter
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:145,1
    - Dst: map
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:145,1
    - Dst: as_str
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:145,1
    - Dst: iter().map(|a| a.as_str()).collect::<Vec<&str>>
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:145,1
    - Dst: as_slice
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:146,1
    - Dst: std::fs::read_to_string
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:149,1
    - Dst: find_marker
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:150,1
    - Dst: textwrap::fill
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:156,1
    - Dst: '&str::len'
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:156,1
    - Dst: make_table
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:157,1
    - Dst: replace_range
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:158,1
    - Dst: textwrap::indent
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:160,1
    - Dst: std::fs::write
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:162,1
    - Dst: usage
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:165,1
    - Dst: Ok
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 0
    functionsReached:
    - std::fs::write
    - replace_range
    - as_slice
    - Ok
    - collect::<Vec<String>>
    - std::fs::read_to_string
    - map
    - '&str::len'
    - make_table
    - textwrap::fill
    - std::env::args
    - usage
    - iter().map(|a| a.as_str()).collect::<Vec<&str>>
    - as_str
    - find_marker
    - iter
    - textwrap::indent
    linkageType: ''
    returnType: Result
    signature: fn main() -> Result<(), PrettyError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/textwrap/examples/interactive.rs:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - row
    - col
    - line_width
    - left
    - right
    - stdout
    argTypes:
    - u16
    - u16
    - u16
    - char
    - char
    - '&mut RawTerminal<io::Stdout>'
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: unix_only::draw_margins
    functionSourceFile: /src/textwrap/examples/interactive.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn draw_margins(row: u16,col: u16,line_width: u16,left: char,right:
      char,stdout: &mut RawTerminal<io::Stdout>,) -> Result<(), io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/textwrap/examples/interactive.rs:109,1
    - Dst: next
      Src: /src/textwrap/examples/interactive.rs:109,1
    - Dst: unwrap
      Src: /src/textwrap/examples/interactive.rs:109,1
    - Dst: to_string
      Src: /src/textwrap/examples/interactive.rs:109,1
    - Dst: std::time::Instant::now
      Src: /src/textwrap/examples/interactive.rs:125,1
    - Dst: wrap
      Src: /src/textwrap/examples/interactive.rs:126,1
    - Dst: elapsed
      Src: /src/textwrap/examples/interactive.rs:127,1
    - Dst: last_mut
      Src: /src/textwrap/examples/interactive.rs:186,1
    - Dst: trim_end_matches
      Src: /src/textwrap/examples/interactive.rs:187,1
    - Dst: len
      Src: /src/textwrap/examples/interactive.rs:187,1
    - Dst: is_empty
      Src: /src/textwrap/examples/interactive.rs:188,1
    - Dst: into
      Src: /src/textwrap/examples/interactive.rs:194,1
    - Dst: ends_with
      Src: /src/textwrap/examples/interactive.rs:195,1
    - Dst: push
      Src: /src/textwrap/examples/interactive.rs:200,1
    - Dst: '&str::into'
      Src: /src/textwrap/examples/interactive.rs:200,1
    - Dst: push
      Src: /src/textwrap/examples/interactive.rs:205,1
    - Dst: '&str::into'
      Src: /src/textwrap/examples/interactive.rs:205,1
    - Dst: draw_margins
      Src: /src/textwrap/examples/interactive.rs:213,1
    - Dst: len
      Src: /src/textwrap/examples/interactive.rs:215,1
    - Dst: draw_margins
      Src: /src/textwrap/examples/interactive.rs:216,1
    - Dst: termion::terminal_size
      Src: /src/textwrap/examples/interactive.rs:218,1
    - Dst: draw_margins
      Src: /src/textwrap/examples/interactive.rs:228,1
    - Dst: '&mut RawTerminal<io::Stdout>::flush'
      Src: /src/textwrap/examples/interactive.rs:233,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 117
    argCount: 4
    argNames:
    - text
    - options
    - word_splitter_label
    - stdout
    argTypes:
    - '&str'
    - '&Options<''a>'
    - '&str'
    - '&mut RawTerminal<io::Stdout>'
    constantsTouched: []
    func_position:
      end: 234
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 234
    functionName: unix_only::draw_text
    functionSourceFile: /src/textwrap/examples/interactive.rs
    functionUses: 0
    functionsReached:
    - termion::terminal_size
    - split
    - wrap
    - elapsed
    - to_string
    - len
    - '&str::into'
    - next
    - into
    - last_mut
    - ends_with
    - unwrap
    - push
    - draw_margins
    - '&mut RawTerminal<io::Stdout>::flush'
    - std::time::Instant::now
    - trim_end_matches
    - is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn draw_text<''a>(text: &str,options: &Options<''a>,word_splitter_label:
      &str,stdout: &mut RawTerminal<io::Stdout>,) -> Result<(), io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/textwrap/examples/interactive.rs:237,1
    - Dst: Self::push
      Src: /src/textwrap/examples/interactive.rs:239,1
    - Dst: WrapAlgorithm::OptimalFit
      Src: /src/textwrap/examples/interactive.rs:239,1
    - Dst: textwrap::wrap_algorithms::Penalties::new
      Src: /src/textwrap/examples/interactive.rs:240,1
    - Dst: Self::push
      Src: /src/textwrap/examples/interactive.rs:242,1
    - Dst: iter
      Src: /src/textwrap/examples/interactive.rs:247,1
    - Dst: map
      Src: /src/textwrap/examples/interactive.rs:247,1
    - Dst: collect
      Src: /src/textwrap/examples/interactive.rs:247,1
    - Dst: Standard::from_embedded
      Src: /src/textwrap/examples/interactive.rs:255,1
    - Dst: or_else
      Src: /src/textwrap/examples/interactive.rs:255,1
    - Dst: std::path::Path::new
      Src: /src/textwrap/examples/interactive.rs:256,1
    - Dst: Self::join
      Src: /src/textwrap/examples/interactive.rs:256,1
    - Dst: join
      Src: /src/textwrap/examples/interactive.rs:256,1
    - Dst: Standard::from_path
      Src: /src/textwrap/examples/interactive.rs:259,1
    - Dst: insert
      Src: /src/textwrap/examples/interactive.rs:263,1
    - Dst: WordSplitter::Hyphenation
      Src: /src/textwrap/examples/interactive.rs:263,1
    - Dst: insert
      Src: /src/textwrap/examples/interactive.rs:264,1
    - Dst: Options::new
      Src: /src/textwrap/examples/interactive.rs:268,1
    - Dst: Self::break_words
      Src: /src/textwrap/examples/interactive.rs:268,1
    - Dst: wrap_algorithm
      Src: /src/textwrap/examples/interactive.rs:268,1
    - Dst: Self::remove
      Src: /src/textwrap/examples/interactive.rs:270,1
    - Dst: Options::word_splitter
      Src: /src/textwrap/examples/interactive.rs:268,1
    - Dst: remove
      Src: /src/textwrap/examples/interactive.rs:271,1
    - Dst: Options::word_separator
      Src: /src/textwrap/examples/interactive.rs:268,1
    - Dst: remove
      Src: /src/textwrap/examples/interactive.rs:273,1
    - Dst: std::env::args
      Src: /src/textwrap/examples/interactive.rs:275,1
    - Dst: collect::<Vec<_>>
      Src: /src/textwrap/examples/interactive.rs:275,1
    - Dst: len
      Src: /src/textwrap/examples/interactive.rs:276,1
    - Dst: join
      Src: /src/textwrap/examples/interactive.rs:277,1
    - Dst: String::from
      Src: /src/textwrap/examples/interactive.rs:279,1
    - Dst: io::stdin
      Src: /src/textwrap/examples/interactive.rs:294,1
    - Dst: io::stdout
      Src: /src/textwrap/examples/interactive.rs:295,1
    - Dst: into_raw_mode
      Src: /src/textwrap/examples/interactive.rs:295,1
    - Dst: into_alternate_screen
      Src: /src/textwrap/examples/interactive.rs:295,1
    - Dst: draw_text
      Src: /src/textwrap/examples/interactive.rs:297,1
    - Dst: keys
      Src: /src/textwrap/examples/interactive.rs:299,1
    - Dst: saturating_sub
      Src: /src/textwrap/examples/interactive.rs:302,1
    - Dst: saturating_add
      Src: /src/textwrap/examples/interactive.rs:303,1
    - Dst: std::mem::swap
      Src: /src/textwrap/examples/interactive.rs:307,1
    - Dst: Self::rotate_left
      Src: /src/textwrap/examples/interactive.rs:308,1
    - Dst: std::mem::swap
      Src: /src/textwrap/examples/interactive.rs:312,1
    - Dst: rotate_left
      Src: /src/textwrap/examples/interactive.rs:313,1
    - Dst: std::mem::swap
      Src: /src/textwrap/examples/interactive.rs:314,1
    - Dst: rotate_left
      Src: /src/textwrap/examples/interactive.rs:315,1
    - Dst: push
      Src: /src/textwrap/examples/interactive.rs:317,1
    - Dst: pop
      Src: /src/textwrap/examples/interactive.rs:319,1
    - Dst: truncate
      Src: /src/textwrap/examples/interactive.rs:322,1
    - Dst: rfind
      Src: /src/textwrap/examples/interactive.rs:322,1
    - Dst: unwrap_or
      Src: /src/textwrap/examples/interactive.rs:322,1
    - Dst: draw_text
      Src: /src/textwrap/examples/interactive.rs:326,1
    - Dst: write_all
      Src: /src/textwrap/examples/interactive.rs:331,1
    - Dst: flush
      Src: /src/textwrap/examples/interactive.rs:332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 333
    functionName: unix_only::main
    functionSourceFile: /src/textwrap/examples/interactive.rs
    functionUses: 0
    functionsReached:
    - join
    - truncate
    - pop
    - Vec::new
    - Self::push
    - Options::word_splitter
    - wrap_algorithm
    - len
    - Standard::from_path
    - saturating_add
    - std::path::Path::new
    - push
    - Self::remove
    - Standard::from_embedded
    - keys
    - String::from
    - io::stdout
    - write_all
    - flush
    - rotate_left
    - saturating_sub
    - Self::rotate_left
    - std::env::args
    - Self::join
    - textwrap::wrap_algorithms::Penalties::new
    - Options::new
    - io::stdin
    - draw_text
    - unwrap_or
    - Options::word_separator
    - map
    - remove
    - collect::<Vec<_>>
    - std::mem::swap
    - Self::break_words
    - collect
    - into_raw_mode
    - rfind
    - WordSplitter::Hyphenation
    - insert
    - or_else
    - into_alternate_screen
    - WrapAlgorithm::OptimalFit
    - iter
    linkageType: ''
    returnType: Result
    signature: pub fn main() -> Result<(), io::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OwnedOptions::default
      Src: /src/textwrap/examples/owned-options.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: OwnedOptions::new
    functionSourceFile: /src/textwrap/examples/owned-options.rs
    functionUses: 0
    functionsReached:
    - OwnedOptions::default
    linkageType: ''
    returnType: Self
    signature: 'fn new(width: u16) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: textwrap::Options::new
      Src: /src/textwrap/examples/owned-options.rs:26,1
    - Dst: into
      Src: /src/textwrap/examples/owned-options.rs:26,1
    - Dst: Self::initial_indent
      Src: /src/textwrap/examples/owned-options.rs:26,1
    - Dst: break_words
      Src: /src/textwrap/examples/owned-options.rs:26,1
    - Dst: Vec::wrap_algorithm
      Src: /src/textwrap/examples/owned-options.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - owned_options
    argTypes:
    - '&''a OwnedOptions'
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: textwrap::Options::from
    functionSourceFile: /src/textwrap/examples/owned-options.rs
    functionUses: 0
    functionsReached:
    - Self::initial_indent
    - textwrap::Options::new
    - break_words
    - into
    - Vec::wrap_algorithm
    linkageType: ''
    returnType: textwrap::Options
    signature: 'fn from(owned_options: &''a OwnedOptions) -> textwrap::Options<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::repeat'
      Src: /src/textwrap/examples/owned-options.rs:37,1
    - Dst: push
      Src: /src/textwrap/examples/owned-options.rs:38,1
    - Dst: push
      Src: /src/textwrap/examples/owned-options.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - n
    - options
    argTypes:
    - usize
    - '&mut OwnedOptions'
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: update_indent
    functionSourceFile: /src/textwrap/examples/owned-options.rs
    functionUses: 0
    functionsReached:
    - push
    - '&str::repeat'
    linkageType: ''
    returnType: void
    signature: 'fn update_indent(n: usize, options: &mut OwnedOptions)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&web_sys::CanvasRenderingContext2d::measure_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:40,1
    - Dst: unwrap
      Src: /src/textwrap/examples/wasm/src/lib.rs:40,1
    - Dst: width
      Src: /src/textwrap/examples/wasm/src/lib.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - text
    argTypes:
    - '&web_sys::CanvasRenderingContext2d'
    - '&str'
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: canvas_width
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 2
    functionsReached:
    - width
    - unwrap
    - '&web_sys::CanvasRenderingContext2d::measure_text'
    linkageType: ''
    returnType: f64
    signature: 'fn canvas_width(ctx: &web_sys::CanvasRenderingContext2d, text: &str)
      -> f64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:57,1
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:59,1
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - word
    argTypes:
    - '&''_ web_sys::CanvasRenderingContext2d'
    - textwrap::core::Word<'a>
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: CanvasWord::from
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 1
    functionsReached:
    - canvas_width
    linkageType: ''
    returnType: Self
    signature: 'fn from(ctx: &''_ web_sys::CanvasRenderingContext2d, word: textwrap::core::Word<''a>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/textwrap/examples/wasm/src/lib.rs:75,1
    - Dst: grapheme_indices
      Src: /src/textwrap/examples/wasm/src/lib.rs:76,1
    - Dst: len
      Src: /src/textwrap/examples/wasm/src/lib.rs:77,1
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:79,1
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:122,1
    - Dst: push
      Src: /src/textwrap/examples/wasm/src/lib.rs:123,1
    - Dst: max
      Src: /src/textwrap/examples/wasm/src/lib.rs:125,1
    - Dst: push
      Src: /src/textwrap/examples/wasm/src/lib.rs:135,1
    - Dst: canvas_width
      Src: /src/textwrap/examples/wasm/src/lib.rs:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - max_width
    argTypes:
    - '&''_ web_sys::CanvasRenderingContext2d'
    - f64
    constantsTouched: []
    func_position:
      end: 145
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 145
    functionName: CanvasWord::break_apart
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached:
    - max
    - canvas_width
    - Vec::new
    - len
    - push
    - grapheme_indices
    linkageType: ''
    returnType: Vec
    signature: 'fn break_apart(self,ctx: &''_ web_sys::CanvasRenderingContext2d,max_width:
      f64,) -> Vec<CanvasWord<''a>>'
  - 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: CanvasWord::width
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: CanvasWord::whitespace_width
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn whitespace_width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: CanvasWord::penalty_width
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn penalty_width(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&web_sys::CanvasRenderingContext2d::save'
      Src: /src/textwrap/examples/wasm/src/lib.rs:171,1
    - Dst: '&web_sys::CanvasRenderingContext2d::set_stroke_style_str'
      Src: /src/textwrap/examples/wasm/src/lib.rs:172,1
    - Dst: '&web_sys::CanvasRenderingContext2d::begin_path'
      Src: /src/textwrap/examples/wasm/src/lib.rs:173,1
    - Dst: '&web_sys::CanvasRenderingContext2d::move_to'
      Src: /src/textwrap/examples/wasm/src/lib.rs:174,1
    - Dst: '&web_sys::CanvasRenderingContext2d::line_to'
      Src: /src/textwrap/examples/wasm/src/lib.rs:178,1
    - Dst: '&web_sys::CanvasRenderingContext2d::stroke'
      Src: /src/textwrap/examples/wasm/src/lib.rs:180,1
    - Dst: '&web_sys::CanvasRenderingContext2d::restore'
      Src: /src/textwrap/examples/wasm/src/lib.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - style
    - steps
    argTypes:
    - '&web_sys::CanvasRenderingContext2d'
    - '&str'
    - (f64, f64)
    - '&[(f64, f64)]'
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: draw_path
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 2
    functionsReached:
    - '&web_sys::CanvasRenderingContext2d::stroke'
    - '&web_sys::CanvasRenderingContext2d::save'
    - '&web_sys::CanvasRenderingContext2d::set_stroke_style_str'
    - '&web_sys::CanvasRenderingContext2d::restore'
    - '&web_sys::CanvasRenderingContext2d::move_to'
    - '&web_sys::CanvasRenderingContext2d::begin_path'
    - '&web_sys::CanvasRenderingContext2d::line_to'
    linkageType: ''
    returnType: void
    signature: 'fn draw_path(ctx: &web_sys::CanvasRenderingContext2d,style: &str,(mut
      x, mut y): (f64, f64),steps: &[(f64, f64)],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&web_sys::CanvasRenderingContext2d::fill_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:195,1
    - Dst: draw_path
      Src: /src/textwrap/examples/wasm/src/lib.rs:197,1
    - Dst: '&web_sys::CanvasRenderingContext2d::save'
      Src: /src/textwrap/examples/wasm/src/lib.rs:204,1
    - Dst: '&web_sys::CanvasRenderingContext2d::set_font'
      Src: /src/textwrap/examples/wasm/src/lib.rs:205,1
    - Dst: '&web_sys::CanvasRenderingContext2d::set_text_align'
      Src: /src/textwrap/examples/wasm/src/lib.rs:206,1
    - Dst: '&web_sys::CanvasRenderingContext2d::set_text_baseline'
      Src: /src/textwrap/examples/wasm/src/lib.rs:207,1
    - Dst: '&web_sys::CanvasRenderingContext2d::fill_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:208,1
    - Dst: '&web_sys::CanvasRenderingContext2d::restore'
      Src: /src/textwrap/examples/wasm/src/lib.rs:213,1
    - Dst: '&web_sys::CanvasRenderingContext2d::fill_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:217,1
    - Dst: draw_path
      Src: /src/textwrap/examples/wasm/src/lib.rs:218,1
    - Dst: '&web_sys::CanvasRenderingContext2d::fill_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:220,1
    - Dst: draw_path
      Src: /src/textwrap/examples/wasm/src/lib.rs:221,1
    - Dst: Ok
      Src: /src/textwrap/examples/wasm/src/lib.rs:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 68
    argCount: 5
    argNames:
    - ctx
    - x
    - y
    - word
    - last_word
    argTypes:
    - '&web_sys::CanvasRenderingContext2d'
    - f64
    - f64
    - '&CanvasWord'
    - bool
    constantsTouched: []
    func_position:
      end: 225
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 225
    functionName: draw_word
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 1
    functionsReached:
    - draw_path
    - Ok
    - '&web_sys::CanvasRenderingContext2d::save'
    - '&web_sys::CanvasRenderingContext2d::set_text_baseline'
    - '&web_sys::CanvasRenderingContext2d::set_text_align'
    - '&web_sys::CanvasRenderingContext2d::restore'
    - '&web_sys::CanvasRenderingContext2d::set_font'
    - '&web_sys::CanvasRenderingContext2d::fill_text'
    linkageType: ''
    returnType: Result
    signature: 'fn draw_word(ctx: &web_sys::CanvasRenderingContext2d,x: f64,y: f64,word:
      &CanvasWord,last_word: bool,) -> Result<(), JsValue>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - nline_penalty
    - overflow_penalty
    - short_last_line_fraction
    - short_last_line_penalty
    - hyphen_penalty
    argTypes:
    - usize
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: WasmPenalties::new
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WasmPenalties
    signature: 'pub fn new(nline_penalty: usize,overflow_penalty: usize,short_last_line_fraction:
      usize,short_last_line_penalty: usize,hyphen_penalty: usize,) -> WasmPenalties'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmPenalties
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: Penalties::from
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(val: WasmPenalties) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - width
    - break_words
    - word_separator
    - word_splitter
    - wrap_algorithm
    - penalties
    argTypes:
    - f64
    - bool
    - WasmWordSeparator
    - WasmWordSplitter
    - WasmWrapAlgorithm
    - WasmPenalties
    constantsTouched: []
    func_position:
      end: 320
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 320
    functionName: WasmOptions::new
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WasmOptions
    signature: 'pub fn new(width: f64,break_words: bool,word_separator: WasmWordSeparator,word_splitter:
      WasmWordSplitter,wrap_algorithm: WasmWrapAlgorithm,penalties: WasmPenalties,)
      -> WasmOptions'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: console_error_panic_hook::set_once
      Src: /src/textwrap/examples/wasm/src/lib.rs:329,1
    - Dst: '&web_sys::CanvasRenderingContext2d::measure_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:331,1
    - Dst: unwrap
      Src: /src/textwrap/examples/wasm/src/lib.rs:331,1
    - Dst: unchecked_into
      Src: /src/textwrap/examples/wasm/src/lib.rs:332,1
    - Dst: actual_bounding_box_ascent
      Src: /src/textwrap/examples/wasm/src/lib.rs:336,1
    - Dst: actual_bounding_box_descent
      Src: /src/textwrap/examples/wasm/src/lib.rs:336,1
    - Dst: Err
      Src: /src/textwrap/examples/wasm/src/lib.rs:342,1
    - Dst: Err
      Src: /src/textwrap/examples/wasm/src/lib.rs:348,1
    - Dst: split
      Src: /src/textwrap/examples/wasm/src/lib.rs:352,1
    - Dst: Options::find_words
      Src: /src/textwrap/examples/wasm/src/lib.rs:353,1
    - Dst: impl Iterator::flat_map
      Src: /src/textwrap/examples/wasm/src/lib.rs:356,1
    - Dst: CanvasWord::from
      Src: /src/textwrap/examples/wasm/src/lib.rs:358,1
    - Dst: Self::break_apart
      Src: /src/textwrap/examples/wasm/src/lib.rs:360,1
    - Dst: "flat_map(|word| {\n                let canvas_word = CanvasWord::from(ctx,\
        \ word);\n                if options.break_words {\n                    canvas_word.break_apart(ctx,\
        \ options.width)\n                } else {\n                    vec![canvas_word]\n\
        \                }\n            })\n            .collect::<Vec<_>>"
      Src: /src/textwrap/examples/wasm/src/lib.rs:356,1
    - Dst: textwrap::wrap_algorithms::wrap_first_fit
      Src: /src/textwrap/examples/wasm/src/lib.rs:369,1
    - Dst: into
      Src: /src/textwrap/examples/wasm/src/lib.rs:371,1
    - Dst: textwrap::wrap_algorithms::wrap_optimal_fit
      Src: /src/textwrap/examples/wasm/src/lib.rs:372,1
    - Dst: Result::unwrap
      Src: /src/textwrap/examples/wasm/src/lib.rs:372,1
    - Dst: Err
      Src: /src/textwrap/examples/wasm/src/lib.rs:374,1
    - Dst: iter
      Src: /src/textwrap/examples/wasm/src/lib.rs:382,1
    - Dst: enumerate
      Src: /src/textwrap/examples/wasm/src/lib.rs:382,1
    - Dst: len
      Src: /src/textwrap/examples/wasm/src/lib.rs:383,1
    - Dst: draw_word
      Src: /src/textwrap/examples/wasm/src/lib.rs:384,1
    - Dst: '&web_sys::CanvasRenderingContext2d::save'
      Src: /src/textwrap/examples/wasm/src/lib.rs:393,1
    - Dst: '&web_sys::CanvasRenderingContext2d::set_font'
      Src: /src/textwrap/examples/wasm/src/lib.rs:394,1
    - Dst: '&web_sys::CanvasRenderingContext2d::fill_text'
      Src: /src/textwrap/examples/wasm/src/lib.rs:395,1
    - Dst: '&web_sys::CanvasRenderingContext2d::restore'
      Src: /src/textwrap/examples/wasm/src/lib.rs:400,1
    - Dst: draw_path
      Src: /src/textwrap/examples/wasm/src/lib.rs:404,1
    - Dst: actual_bounding_box_ascent
      Src: /src/textwrap/examples/wasm/src/lib.rs:409,1
    - Dst: Ok
      Src: /src/textwrap/examples/wasm/src/lib.rs:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 115
    argCount: 3
    argNames:
    - ctx
    - options
    - text
    argTypes:
    - '&web_sys::CanvasRenderingContext2d'
    - '&WasmOptions'
    - '&str'
    constantsTouched: []
    func_position:
      end: 415
      start: 324
    functionDepth: 7
    functionLinenumber: 324
    functionLinenumberEnd: 415
    functionName: draw_wrapped_text
    functionSourceFile: /src/textwrap/examples/wasm/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Options::find_words
    - split
    - '&web_sys::CanvasRenderingContext2d::restore'
    - len
    - unwrap
    - CanvasWord::from
    - Result::unwrap
    - textwrap::wrap_algorithms::wrap_optimal_fit
    - enumerate
    - into
    - textwrap::wrap_algorithms::wrap_first_fit
    - unchecked_into
    - draw_word
    - draw_path
    - Self::break_apart
    - impl Iterator::flat_map
    - console_error_panic_hook::set_once
    - Err
    - '&web_sys::CanvasRenderingContext2d::measure_text'
    - '&web_sys::CanvasRenderingContext2d::save'
    - "flat_map(|word| {\n                let canvas_word = CanvasWord::from(ctx,\
      \ word);\n                if options.break_words {\n                    canvas_word.break_apart(ctx,\
      \ options.width)\n                } else {\n                    vec![canvas_word]\n\
      \                }\n            })\n            .collect::<Vec<_>>"
    - actual_bounding_box_descent
    - '&web_sys::CanvasRenderingContext2d::set_font'
    - iter
    - actual_bounding_box_ascent
    - '&web_sys::CanvasRenderingContext2d::fill_text'
    linkageType: ''
    returnType: Result
    signature: 'pub fn draw_wrapped_text(ctx: &web_sys::CanvasRenderingContext2d,options:
      &WasmOptions,text: &str,) -> Result<(), JsValue>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: Self::arg
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: arg
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: arg
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: args
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: status
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:10,1
    - Dst: success
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:16,1
    - Dst: Err
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:17,1
    - Dst: io::Error::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:17,1
    - Dst: Command::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:24,1
    - Dst: Self::arg
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:24,1
    - Dst: status
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:24,1
    - Dst: success
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:25,1
    - Dst: Err
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:26,1
    - Dst: io::Error::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:26,1
    - Dst: fs::metadata
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:32,1
    - Dst: map_err
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:32,1
    - Dst: io::Error::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:33,1
    - Dst: Ok
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:38,1
    - Dst: len
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - extra_args
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 39
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 39
    functionName: compile
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 1
    functionsReached:
    - status
    - Ok
    - Self::arg
    - success
    - len
    - args
    - io::Error::new
    - arg
    - fs::metadata
    - map_err
    - Err
    - Command::new
    linkageType: ''
    returnType: io::Result
    signature: 'fn compile(extra_args: &[&str]) -> io::Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:42,1
    - Dst: Self::arg
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:42,1
    - Dst: output
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:42,1
    - Dst: map_err
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:42,1
    - Dst: PrettyError
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:45,1
    - Dst: String::from_utf8
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:46,1
    - Dst: map_err
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:46,1
    - Dst: PrettyError
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:47,1
    - Dst: split_ascii_whitespace
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:48,1
    - Dst: skip
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:48,1
    - Dst: next
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:48,1
    - Dst: map
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:48,1
    - Dst: Vec::to_owned
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:52,1
    - Dst: ok_or
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:48,1
    - Dst: PrettyError
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: rustc_version
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 0
    functionsReached:
    - skip
    - PrettyError
    - Self::arg
    - map
    - ok_or
    - next
    - split_ascii_whitespace
    - map_err
    - output
    - Command::new
    - Vec::to_owned
    - String::from_utf8
    linkageType: ''
    returnType: Result
    signature: fn rustc_version() -> Result<String, PrettyError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:59,1
    - Dst: compile
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:79,1
    - Dst: iter
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:82,1
    - Dst: compile
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:83,1
    - Dst: Ok
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: make_table
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 1
    functionsReached:
    - iter
    - Ok
    - compile
    - String::new
    linkageType: ''
    returnType: Result
    signature: fn make_table() -> Result<String, PrettyError>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: PrettyError::fmt
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, fmt: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:109,1
    - Dst: fmt::Error::to_string
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - fmt::Error
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: PrettyError::from
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 0
    functionsReached:
    - fmt::Error::to_string
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(error: fmt::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - size
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: kb
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn kb(size: u64) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: usage
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::find'
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:125,1
    - Dst: and_then
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:125,1
    - Dst: Some
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:127,1
    - Dst: find
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:127,1
    - Dst: map
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:125,1
    - Dst: '&str::len'
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:128,1
    - Dst: ok_or
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:125,1
    - Dst: PrettyError
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:129,1
    - Dst: '&str::find'
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:132,1
    - Dst: and_then
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:132,1
    - Dst: rfind
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:134,1
    - Dst: map
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:132,1
    - Dst: '&str::len'
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:135,1
    - Dst: ok_or
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:132,1
    - Dst: PrettyError
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:136,1
    - Dst: Ok
      Src: /src/textwrap/examples/binary-sizes/examples/make-table.rs:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 3
    argNames:
    - path
    - marker
    - content
    argTypes:
    - '&str'
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: find_marker
    functionSourceFile: /src/textwrap/examples/binary-sizes/examples/make-table.rs
    functionUses: 1
    functionsReached:
    - Ok
    - PrettyError
    - rfind
    - '&str::len'
    - map
    - Some
    - ok_or
    - and_then
    - '&str::find'
    - find
    linkageType: ''
    returnType: Result
    signature: 'fn find_marker(path: &str, marker: &str, content: &str) -> Result<Range<usize>,
      PrettyError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/textwrap/benchmarks/linear.rs:23,1
    - Dst: textwrap::WrapAlgorithm::new_optimal_fit
      Src: /src/textwrap/benchmarks/linear.rs:29,1
    - Dst: lorem_ipsum
      Src: /src/textwrap/benchmarks/linear.rs:38,1
    - Dst: textwrap::Options::new
      Src: /src/textwrap/benchmarks/linear.rs:44,1
    - Dst: Self::wrap_algorithm
      Src: /src/textwrap/benchmarks/linear.rs:44,1
    - Dst: Options::word_separator
      Src: /src/textwrap/benchmarks/linear.rs:44,1
    - Dst: bench_with_input
      Src: /src/textwrap/benchmarks/linear.rs:47,1
    - Dst: BenchmarkId::new
      Src: /src/textwrap/benchmarks/linear.rs:47,1
    - Dst: String::iter
      Src: /src/textwrap/benchmarks/linear.rs:48,1
    - Dst: textwrap::fill
      Src: /src/textwrap/benchmarks/linear.rs:48,1
    - Dst: bench_function
      Src: /src/textwrap/benchmarks/linear.rs:53,1
    - Dst: BenchmarkId::new
      Src: /src/textwrap/benchmarks/linear.rs:53,1
    - Dst: String::iter_batched
      Src: /src/textwrap/benchmarks/linear.rs:54,1
    - Dst: clone
      Src: /src/textwrap/benchmarks/linear.rs:55,1
    - Dst: textwrap::fill_inplace
      Src: /src/textwrap/benchmarks/linear.rs:56,1
    - Dst: std::path::Path::new
      Src: /src/textwrap/benchmarks/linear.rs:62,1
    - Dst: Self::join
      Src: /src/textwrap/benchmarks/linear.rs:62,1
    - Dst: Standard::from_path
      Src: /src/textwrap/benchmarks/linear.rs:63,1
    - Dst: unwrap
      Src: /src/textwrap/benchmarks/linear.rs:63,1
    - Dst: textwrap::Options::new
      Src: /src/textwrap/benchmarks/linear.rs:64,1
    - Dst: Self::wrap_algorithm
      Src: /src/textwrap/benchmarks/linear.rs:64,1
    - Dst: textwrap::WrapAlgorithm::new_optimal_fit
      Src: /src/textwrap/benchmarks/linear.rs:65,1
    - Dst: Options::word_separator
      Src: /src/textwrap/benchmarks/linear.rs:64,1
    - Dst: Options::word_splitter
      Src: /src/textwrap/benchmarks/linear.rs:64,1
    - Dst: textwrap::WordSplitter::Hyphenation
      Src: /src/textwrap/benchmarks/linear.rs:67,1
    - Dst: bench_with_input
      Src: /src/textwrap/benchmarks/linear.rs:68,1
    - Dst: BenchmarkId::new
      Src: /src/textwrap/benchmarks/linear.rs:69,1
    - Dst: String::iter
      Src: /src/textwrap/benchmarks/linear.rs:72,1
    - Dst: textwrap::fill
      Src: /src/textwrap/benchmarks/linear.rs:72,1
    - Dst: finish
      Src: /src/textwrap/benchmarks/linear.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 87
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 77
    functionName: benchmark
    functionSourceFile: /src/textwrap/benchmarks/linear.rs
    functionUses: 0
    functionsReached:
    - textwrap::WordSplitter::Hyphenation
    - benchmark_group
    - Options::word_splitter
    - textwrap::fill
    - Standard::from_path
    - clone
    - std::path::Path::new
    - unwrap
    - bench_function
    - textwrap::Options::new
    - Self::join
    - finish
    - BenchmarkId::new
    - bench_with_input
    - String::iter_batched
    - Options::word_separator
    - Self::wrap_algorithm
    - textwrap::fill_inplace
    - textwrap::WrapAlgorithm::new_optimal_fit
    - String::iter
    - lorem_ipsum
    linkageType: ''
    returnType: void
    signature: 'pub fn benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lipsum::lipsum_words_from_seed
      Src: /src/textwrap/benchmarks/linear.rs:17,1
    - Dst: truncate
      Src: /src/textwrap/benchmarks/linear.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: lorem_ipsum
    functionSourceFile: /src/textwrap/benchmarks/linear.rs
    functionUses: 1
    functionsReached:
    - lipsum::lipsum_words_from_seed
    - truncate
    linkageType: ''
    returnType: String
    signature: 'fn lorem_ipsum(length: usize) -> String'
Fuzzer filename: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - test_readme_deps
  - test_changelog
  - test_html_root_url
  - test_dependency_graph
  source_file: /src/textwrap/tests/version-numbers.rs
- function_names:
  - test_indent_nomargin_default
  - test_roundtrip_spaces
  - test_roundtrip_tabs
  - test_roundtrip_mixed
  - test_indent_default
  - indented_text_should_have_the_same_number_of_lines_as_the_original_text
  source_file: /src/textwrap/tests/indent.rs
- function_names:
  - wrap
  - wrap_single_line
  - wrap_single_line_slow_path
  - tests::no_wrap
  - tests::wrap_simple
  - tests::to_be_or_not
  - tests::multiple_words_on_first_line
  - tests::long_word
  - tests::long_words
  - tests::max_width
  - tests::leading_whitespace
  - tests::leading_whitespace_empty_first_line
  - tests::trailing_whitespace
  - tests::preserve_trailing_whitespace
  - tests::issue_99
  - tests::issue_129
  - tests::wide_character_handling
  - tests::indent_empty_line
  - tests::indent_single_line
  - tests::indent_first_emoji
  - tests::indent_multiple_lines
  - tests::only_initial_indent_multiple_lines
  - tests::only_subsequent_indent_multiple_lines
  - tests::indent_break_words
  - tests::initial_indent_break_words
  - tests::hyphens
  - tests::trailing_hyphen
  - tests::multiple_hyphens
  - tests::hyphens_flag
  - tests::repeated_hyphens
  - tests::hyphens_alphanumeric
  - tests::hyphens_non_alphanumeric
  - tests::multiple_splits
  - tests::forced_split
  - tests::multiple_unbroken_words_issue_193
  - tests::very_narrow_lines_issue_193
  - tests::simple_hyphens
  - tests::no_hyphenation
  - tests::auto_hyphenation_double_hyphenation
  - tests::auto_hyphenation_issue_158
  - tests::split_len_hyphenation
  - tests::borrowed_lines
  - tests::auto_hyphenation_with_hyphen
  - tests::break_words
  - tests::break_words_wide_characters
  - tests::break_words_zero_width
  - tests::break_long_first_word
  - tests::wrap_preserves_line_breaks_trims_whitespace
  - tests::wrap_preserves_line_breaks_and_trailing_whitespace
  - tests::preserve_trailing_space_borrows_spaces
  - tests::wrap_colored_text
  source_file: /src/textwrap/src/wrap.rs
- function_names:
  - WordSeparator::eq
  - WordSeparator::new
  - WordSeparator::find_words
  - find_words_ascii_space
  - strip_ansi_escape_sequences
  - find_words_unicode_break_properties
  - tests::to_words
  - tests::find_words_colored_text
  - tests::find_words_color_inside_word
  - tests::word_separator_new
  source_file: /src/textwrap/src/word_separators.rs
- function_names:
  - WrapAlgorithm::eq
  - WrapAlgorithm::new
  - WrapAlgorithm::new_optimal_fit
  - WrapAlgorithm::wrap
  - WrapAlgorithm::default
  - wrap_first_fit
  - tests::wrap_string_longer_than_f64
  source_file: /src/textwrap/src/wrap_algorithms.rs
- function_names:
  - skip_ansi_escape_sequence
  - ch_width
  - ch_width
  - display_width
  - Word::deref
  - Word::from
  - Word::break_apart
  - Word::width
  - Word::whitespace_width
  - Word::penalty_width
  - break_words
  - tests::skip_ansi_escape_sequence_works
  - tests::emojis_have_correct_width
  - tests::display_width_works
  - tests::display_width_narrow_emojis
  - tests::display_width_narrow_emojis_variant_selector
  - tests::display_width_emojis
  source_file: /src/textwrap/src/core.rs
- function_names:
  - termwidth
  - Options::with_termwidth
  source_file: /src/textwrap/src/termwidth.rs
- function_names:
  - unfill
  - refill
  - tests::unfill_simple
  - tests::unfill_no_new_line
  - tests::unfill_simple_crlf
  - tests::unfill_mixed_new_lines
  - tests::test_unfill_consecutive_different_prefix
  - tests::unfill_trailing_newlines
  - tests::unfill_mixed_trailing_newlines
  - tests::unfill_trailing_crlf
  - tests::unfill_initial_indent
  - tests::unfill_differing_indents
  - tests::unfill_list_item
  - tests::unfill_multiple_char_prefix
  - tests::unfill_block_quote
  - tests::unfill_only_prefixes_issue_466
  - tests::unfill_trailing_newlines_issue_466
  - tests::unfill_whitespace
  - tests::refill_convert_lf_to_crlf
  - tests::refill_convert_crlf_to_lf
  - tests::refill_convert_mixed_newlines
  - tests::refill_defaults_to_lf
  source_file: /src/textwrap/src/refill.rs
- function_names:
  - wrap_columns
  - tests::wrap_columns_empty_text
  - tests::wrap_columns_single_column
  - tests::wrap_columns_uneven_columns
  - tests::wrap_columns_with_emojis
  - tests::wrap_columns_big_gaps
  - tests::wrap_columns_panic_with_zero_columns
  source_file: /src/textwrap/src/columns.rs
- function_names: []
  source_file: /src/textwrap/src/lib.rs
- function_names:
  - LineEnding::as_str
  - NonEmptyLines::next
  - tests::non_empty_lines_full_case
  - tests::non_empty_lines_new_lines_only
  - tests::non_empty_lines_no_input
  source_file: /src/textwrap/src/line_ending.rs
- function_names:
  - Options::from
  - Options::from
  - Options::new
  - Options::line_ending
  - Options::width
  - Options::initial_indent
  - Options::subsequent_indent
  - Options::break_words
  - Options::word_separator
  - Options::wrap_algorithm
  - Options::word_splitter
  - Options::preserve_trailing_space
  - tests::options_agree_with_usize
  source_file: /src/textwrap/src/options.rs
- function_names:
  - fill
  - fill_slow_path
  - fill_inplace
  - tests::fill_simple
  - tests::fill_unicode_boundary
  - tests::non_breaking_space
  - tests::non_breaking_hyphen
  - tests::fill_preserves_line_breaks_trims_whitespace
  - tests::preserve_line_breaks
  - tests::break_words_line_breaks
  - tests::break_words_empty_lines
  - tests::fill_inplace_empty
  - tests::fill_inplace_simple
  - tests::fill_inplace_multiple_lines
  - tests::fill_inplace_long_word
  - tests::fill_inplace_no_hyphen_splitting
  - tests::fill_inplace_newlines
  - tests::fill_inplace_newlines_reset_line_width
  - tests::fill_inplace_leading_whitespace
  - tests::fill_inplace_trailing_whitespace
  - tests::fill_inplace_interior_whitespace
  source_file: /src/textwrap/src/fill.rs
- function_names:
  - indent
  - dedent
  - tests::indent_empty
  - tests::indent_nonempty
  - tests::indent_empty_line
  - tests::dedent_empty
  - tests::dedent_multi_line
  - tests::dedent_empty_line
  - tests::dedent_blank_line
  - tests::dedent_whitespace_line
  - tests::dedent_mixed_whitespace
  - tests::dedent_tabbed_whitespace
  - tests::dedent_mixed_tabbed_whitespace
  - tests::dedent_mixed_tabbed_whitespace2
  - tests::dedent_preserve_no_terminating_newline
  source_file: /src/textwrap/src/indentation.rs
- function_names:
  - WordSplitter::eq
  - WordSplitter::split_points
  - split_words
  - tests::split_words_no_words
  - tests::split_words_empty_word
  - tests::split_words_single_word
  - tests::split_words_hyphen_splitter
  - tests::split_words_no_hyphenation
  - tests::split_words_adds_penalty
  source_file: /src/textwrap/src/word_splitters.rs
- function_names:
  - fill_slow_path
  - wrap_single_line
  - wrap_single_line_slow_path
  source_file: /src/textwrap/src/fuzzing.rs
- function_names:
  - Penalties::new
  - Penalties::default
  - LineNumbers::new
  - LineNumbers::get
  - OverflowError::fmt
  - wrap_optimal_fit
  - tests::wrap_fragments_with_infinite_widths
  - tests::wrap_fragments_with_huge_widths
  - tests::wrap_fragments_with_large_widths
  source_file: /src/textwrap/src/wrap_algorithms/optimal_fit.rs
- function_names:
  - Penalties::into
  - Word::width
  - Word::whitespace_width
  - Word::penalty_width
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/fill_first_fit.rs
- function_names:
  - Penalties::into
  - Word::width
  - Word::whitespace_width
  - Word::penalty_width
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/wrap_optimal_fit_usize.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/fill_fast_path.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/wrap_fast_path.rs
- function_names:
  - Word::width
  - Word::whitespace_width
  - Word::penalty_width
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/wrap_first_fit.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/refill.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/unfill.rs
- function_names:
  - fuzz_target
  source_file: /src/textwrap/fuzz/fuzz_targets/fill_optimal_fit.rs
- function_names:
  - main
  - unix_only::draw_margins
  - unix_only::draw_text
  - unix_only::main
  source_file: /src/textwrap/examples/interactive.rs
- function_names:
  - main
  source_file: /src/textwrap/examples/termwidth.rs
- function_names:
  - main
  source_file: /src/textwrap/examples/hyphenation.rs
- function_names:
  - OwnedOptions::new
  - textwrap::Options::from
  - update_indent
  - main
  source_file: /src/textwrap/examples/owned-options.rs
- function_names:
  - main
  source_file: /src/textwrap/examples/hello_world.rs
- function_names:
  - main
  source_file: /src/textwrap/examples/layout.rs
- function_names:
  - main
  source_file: /src/textwrap/examples/debug-words.rs
- function_names:
  - canvas_width
  - CanvasWord::from
  - CanvasWord::break_apart
  - CanvasWord::width
  - CanvasWord::whitespace_width
  - CanvasWord::penalty_width
  - draw_path
  - draw_word
  - WasmPenalties::new
  - Penalties::from
  - WasmOptions::new
  - draw_wrapped_text
  source_file: /src/textwrap/examples/wasm/src/lib.rs
- function_names:
  - fill
  - main
  source_file: /src/textwrap/examples/binary-sizes/src/main.rs
- function_names:
  - compile
  - rustc_version
  - make_table
  - PrettyError::fmt
  - PrettyError::from
  - PrettyError::from
  - kb
  - usage
  - find_marker
  - main
  source_file: /src/textwrap/examples/binary-sizes/examples/make-table.rs
- function_names:
  - benchmark
  source_file: /src/textwrap/benchmarks/indent.rs
- function_names:
  - benchmark
  source_file: /src/textwrap/benchmarks/unfill.rs
- function_names:
  - lorem_ipsum
  - benchmark
  source_file: /src/textwrap/benchmarks/linear.rs
