All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Criterion::default
      Src: /src/prost/benches/varint.rs:75,1
    - Dst: DecodeContext::configure_from_args
      Src: /src/prost/benches/varint.rs:75,1
    - Dst: benchmark_varint
      Src: /src/prost/benches/varint.rs:78,1
    - Dst: collect
      Src: /src/prost/benches/varint.rs:78,1
    - Dst: benchmark_varint
      Src: /src/prost/benches/varint.rs:81,1
    - Dst: take
      Src: /src/prost/benches/varint.rs:81,1
    - Dst: collect
      Src: /src/prost/benches/varint.rs:81,1
    - Dst: benchmark_varint
      Src: /src/prost/benches/varint.rs:84,1
    - Dst: take
      Src: /src/prost/benches/varint.rs:84,1
    - Dst: collect
      Src: /src/prost/benches/varint.rs:84,1
    - Dst: benchmark_varint
      Src: /src/prost/benches/varint.rs:87,1
    - Dst: flat_map
      Src: /src/prost/benches/varint.rs:90,1
    - Dst: map
      Src: /src/prost/benches/varint.rs:93,1
    - Dst: collect
      Src: /src/prost/benches/varint.rs:90,1
    - Dst: final_summary
      Src: /src/prost/benches/varint.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 7
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/prost/benches/varint.rs
    functionUses: 0
    functionsReached:
    - Criterion::default
    - benchmark_varint
    - collect
    - DecodeContext::configure_from_args
    - map
    - final_summary
    - take
    - flat_map
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::to_string'
      Src: /src/prost/tests/src/deprecated_field.rs:12,1
    - Dst: '&str::to_string'
      Src: /src/prost/tests/src/deprecated_field.rs:13,1
    - Dst: drop
      Src: /src/prost/tests/src/deprecated_field.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 29
    functionName: test_warns_when_using_fields_with_deprecated_field
    functionSourceFile: /src/prost/tests/src/deprecated_field.rs
    functionUses: 0
    functionsReached:
    - '&str::to_string'
    - drop
    linkageType: ''
    returnType: void
    signature: fn test_warns_when_using_fields_with_deprecated_field()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_message
      Src: /src/prost/tests/src/message_encoding.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 7
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: check_repeated_floats
    functionSourceFile: /src/prost/tests/src/message_encoding.rs
    functionUses: 0
    functionsReached:
    - check_message
    linkageType: ''
    returnType: void
    signature: fn check_repeated_floats()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_message
      Src: /src/prost/tests/src/message_encoding.rs:30,1
    - Dst: ScalarTypes::default
      Src: /src/prost/tests/src/message_encoding.rs:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 7
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: check_scalar_types
    functionSourceFile: /src/prost/tests/src/message_encoding.rs
    functionUses: 0
    functionsReached:
    - check_message
    - ScalarTypes::default
    linkageType: ''
    returnType: void
    signature: fn check_scalar_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_message
      Src: /src/prost/tests/src/message_encoding.rs:206,1
    - Dst: TagsInferred::default
      Src: /src/prost/tests/src/message_encoding.rs:206,1
    - Dst: check_serialize_equivalent
      Src: /src/prost/tests/src/message_encoding.rs:207,1
    - Dst: TagsInferred::default
      Src: /src/prost/tests/src/message_encoding.rs:207,1
    - Dst: TagsQualified::default
      Src: /src/prost/tests/src/message_encoding.rs:207,1
    - Dst: Some
      Src: /src/prost/tests/src/message_encoding.rs:211,1
    - Dst: '&str::to_owned'
      Src: /src/prost/tests/src/message_encoding.rs:213,1
    - Dst: ::alloc::collections::BTreeMap::new
      Src: /src/prost/tests/src/message_encoding.rs:215,1
    - Dst: Basic::default
      Src: /src/prost/tests/src/message_encoding.rs:217,1
    - Dst: check_message
      Src: /src/prost/tests/src/message_encoding.rs:219,1
    - Dst: Some
      Src: /src/prost/tests/src/message_encoding.rs:223,1
    - Dst: Basic::default
      Src: /src/prost/tests/src/message_encoding.rs:226,1
    - Dst: '&str::to_owned'
      Src: /src/prost/tests/src/message_encoding.rs:227,1
    - Dst: ::alloc::collections::BTreeMap::new
      Src: /src/prost/tests/src/message_encoding.rs:229,1
    - Dst: check_serialize_equivalent
      Src: /src/prost/tests/src/message_encoding.rs:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 7
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: check_tags_inferred
    functionSourceFile: /src/prost/tests/src/message_encoding.rs
    functionUses: 0
    functionsReached:
    - Some
    - TagsQualified::default
    - ::alloc::collections::BTreeMap::new
    - Basic::default
    - check_message
    - check_serialize_equivalent
    - TagsInferred::default
    - '&str::to_owned'
    linkageType: ''
    returnType: void
    signature: fn check_tags_inferred()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DefaultValues::default
      Src: /src/prost/tests/src/message_encoding.rs:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: check_default_values
    functionSourceFile: /src/prost/tests/src/message_encoding.rs
    functionUses: 0
    functionsReached:
    - DefaultValues::default
    linkageType: ''
    returnType: void
    signature: fn check_default_values()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/generic_derive.rs:22,1
    - Dst: GenericEnum::Data
      Src: /src/prost/tests/src/generic_derive.rs:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: generic_enum
    functionSourceFile: /src/prost/tests/src/generic_derive.rs
    functionUses: 0
    functionsReached:
    - GenericEnum::Data
    - Some
    linkageType: ''
    returnType: void
    signature: fn generic_enum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Basic::default
      Src: /src/prost/tests/src/debug.rs:17,1
    - Dst: insert
      Src: /src/prost/tests/src/debug.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 52
    functionName: basic
    functionSourceFile: /src/prost/tests/src/debug.rs
    functionUses: 0
    functionsReached:
    - Basic::default
    - insert
    linkageType: ''
    returnType: void
    signature: fn basic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/debug.rs:90,1
    - Dst: OneofWithEnum::Enumeration
      Src: /src/prost/tests/src/debug.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: oneof_with_enum
    functionSourceFile: /src/prost/tests/src/debug.rs
    functionUses: 0
    functionsReached:
    - Some
    - OneofWithEnum::Enumeration
    linkageType: ''
    returnType: void
    signature: fn oneof_with_enum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/prost/tests/src/well_known_types.rs:6,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:7,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:11,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:12,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:13,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:14,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:15,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:16,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:17,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:18,1
    - Dst: '&str::into'
      Src: /src/prost/tests/src/well_known_types.rs:18,1
    - Dst: Some
      Src: /src/prost/tests/src/well_known_types.rs:19,1
    - Dst: '&str::to_vec'
      Src: /src/prost/tests/src/well_known_types.rs:19,1
    - Dst: crate::check_message
      Src: /src/prost/tests/src/well_known_types.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 7
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: test_well_known_types
    functionSourceFile: /src/prost/tests/src/well_known_types.rs
    functionUses: 0
    functionsReached:
    - into
    - Some
    - '&str::into'
    - crate::check_message
    - '&str::to_vec'
    linkageType: ''
    returnType: void
    signature: fn test_well_known_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: widget::factory::WidgetFactory::default
      Src: /src/prost/tests/src/packages/mod.rs:29,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:32,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:35,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:38,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:41,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:44,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:47,1
    - Dst: Some
      Src: /src/prost/tests/src/packages/mod.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: test
    functionSourceFile: /src/prost/tests/src/packages/mod.rs
    functionUses: 0
    functionsReached:
    - widget::factory::WidgetFactory::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: RoundtripResult::unwrap
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: pub fn unwrap(self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/prost/tests/src/lib.rs:137,1
    - Dst: Err
      Src: /src/prost/tests/src/lib.rs:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: RoundtripResult::unwrap_error
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: pub fn unwrap_error(self) -> Result<Vec<u8>, prost::DecodeError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: M::decode
      Src: /src/prost/tests/src/lib.rs:151,1
    - Dst: RoundtripResult::DecodeError
      Src: /src/prost/tests/src/lib.rs:153,1
    - Dst: encoded_len
      Src: /src/prost/tests/src/lib.rs:156,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:162,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:163,1
    - Dst: RoundtripResult::Error
      Src: /src/prost/tests/src/lib.rs:164,1
    - Dst: Result::into
      Src: /src/prost/tests/src/lib.rs:164,1
    - Dst: DecodeError::len
      Src: /src/prost/tests/src/lib.rs:166,1
    - Dst: RoundtripResult::Error
      Src: /src/prost/tests/src/lib.rs:167,1
    - Dst: M::decode
      Src: /src/prost/tests/src/lib.rs:174,1
    - Dst: RoundtripResult::Error
      Src: /src/prost/tests/src/lib.rs:176,1
    - Dst: anyhow::Error::new
      Src: /src/prost/tests/src/lib.rs:176,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:179,1
    - Dst: RoundtripResult::encode
      Src: /src/prost/tests/src/lib.rs:180,1
    - Dst: RoundtripResult::Error
      Src: /src/prost/tests/src/lib.rs:181,1
    - Dst: Result::into
      Src: /src/prost/tests/src/lib.rs:181,1
    - Dst: RoundtripResult::Error
      Src: /src/prost/tests/src/lib.rs:192,1
    - Dst: RoundtripResult::Ok
      Src: /src/prost/tests/src/lib.rs:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 196
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 196
    functionName: roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::into
    - DecodeError::len
    - RoundtripResult::Error
    - encode
    - RoundtripResult::DecodeError
    - M::decode
    - anyhow::Error::new
    - encoded_len
    - Vec::new
    - RoundtripResult::Ok
    - RoundtripResult::encode
    linkageType: ''
    returnType: RoundtripResult
    signature: 'pub fn roundtrip<M>(data: &[u8]) -> RoundtripResultwhereM: Message
      + Default,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&M::encoded_len'
      Src: /src/prost/tests/src/lib.rs:203,1
    - Dst: Vec::with_capacity
      Src: /src/prost/tests/src/lib.rs:205,1
    - Dst: '&M::encode'
      Src: /src/prost/tests/src/lib.rs:206,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:206,1
    - Dst: M::decode
      Src: /src/prost/tests/src/lib.rs:210,1
    - Dst: Result::unwrap
      Src: /src/prost/tests/src/lib.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - msg
    argTypes:
    - '&M'
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: check_message
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 6
    functionsReached:
    - unwrap
    - '&M::encoded_len'
    - M::decode
    - '&M::encode'
    - Vec::with_capacity
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'pub fn check_message<M>(msg: &M)whereM: Message + Default + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:226,1
    - Dst: '&M::encode'
      Src: /src/prost/tests/src/lib.rs:227,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:227,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:228,1
    - Dst: '&N::encode'
      Src: /src/prost/tests/src/lib.rs:229,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - msg_a
    - msg_b
    argTypes:
    - '&M'
    - '&N'
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: check_serialize_equivalent
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - Vec::new
    - '&M::encode'
    - '&N::encode'
    linkageType: ''
    returnType: void
    signature: 'pub fn check_serialize_equivalent<M, N>(msg_a: &M, msg_b: &N)whereM:
      Message + Default + PartialEq,N: Message + Default + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip::<TestAllTypesProto3>
      Src: /src/prost/tests/src/lib.rs:271,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 273
    functionName: tests::test_all_types_proto3
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - roundtrip::<TestAllTypesProto3>
    linkageType: ''
    returnType: void
    signature: fn test_all_types_proto3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:345,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:346,1
    - Dst: expect
      Src: /src/prost/tests/src/lib.rs:346,1
    - Dst: roundtrip::<foo::bar_baz::FooBarBaz>
      Src: /src/prost/tests/src/lib.rs:347,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 348
    functionName: tests::test_ident_conversions
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - encode
    - expect
    - Vec::new
    - roundtrip::<foo::bar_baz::FooBarBaz>
    linkageType: ''
    returnType: void
    signature: fn test_ident_conversions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BTreeSet::new
      Src: /src/prost/tests/src/lib.rs:354,1
    - Dst: foo::bar_baz::FooBarBaz::default
      Src: /src/prost/tests/src/lib.rs:355,1
    - Dst: DecodeError::insert
      Src: /src/prost/tests/src/lib.rs:356,1
    - Dst: BTreeSet::new
      Src: /src/prost/tests/src/lib.rs:358,1
    - Dst: oneof_attributes::Msg::default
      Src: /src/prost/tests/src/lib.rs:359,1
    - Dst: DecodeError::insert
      Src: /src/prost/tests/src/lib.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: tests::test_custom_type_attributes
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - foo::bar_baz::FooBarBaz::default
    - BTreeSet::new
    - oneof_attributes::Msg::default
    - DecodeError::insert
    linkageType: ''
    returnType: void
    signature: fn test_custom_type_attributes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:367,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:367,1
    - Dst: A::default
      Src: /src/prost/tests/src/lib.rs:367,1
    - Dst: Vec::<A>::new
      Src: /src/prost/tests/src/lib.rs:368,1
    - Dst: BTreeMap::<i32, A>::new
      Src: /src/prost/tests/src/lib.rs:369,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:370,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:370,1
    - Dst: B::default
      Src: /src/prost/tests/src/lib.rs:370,1
    - Dst: Vec::<B>::new
      Src: /src/prost/tests/src/lib.rs:371,1
    - Dst: BTreeMap::<i32, B>::new
      Src: /src/prost/tests/src/lib.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: tests::test_nesting
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - A::default
    - Vec::<A>::new
    - BTreeMap::<i32, A>::new
    - B::default
    - Vec::<B>::new
    - BTreeMap::<i32, B>::new
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_nesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:381,1
    - Dst: A::default
      Src: /src/prost/tests/src/lib.rs:381,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:383,1
    - Dst: A::default
      Src: /src/prost/tests/src/lib.rs:383,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:384,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:388,1
    - Dst: DecodeError::encode
      Src: /src/prost/tests/src/lib.rs:389,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:389,1
    - Dst: A::decode
      Src: /src/prost/tests/src/lib.rs:390,1
    - Dst: Result::map
      Src: /src/prost/tests/src/lib.rs:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 6
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::build_and_roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - A::decode
    - Some
    - A::default
    - Result::map
    - DecodeError::encode
    - Vec::new
    - Box::new
    linkageType: ''
    returnType: Result
    signature: 'fn build_and_roundtrip(depth: usize) -> Result<(), prost::DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 395
    functionName: tests::test_deep_nesting
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_deep_nesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:402,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:403,1
    - Dst: a::Kind::C
      Src: /src/prost/tests/src/lib.rs:403,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:406,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:407,1
    - Dst: a::Kind::A
      Src: /src/prost/tests/src/lib.rs:407,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:411,1
    - Dst: DecodeError::encode
      Src: /src/prost/tests/src/lib.rs:412,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:412,1
    - Dst: A::decode
      Src: /src/prost/tests/src/lib.rs:413,1
    - Dst: Result::map
      Src: /src/prost/tests/src/lib.rs:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::o::n::e::o::f::build_and_roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - a::Kind::A
    - a::Kind::C
    - unwrap
    - A::decode
    - Some
    - Result::map
    - DecodeError::encode
    - Vec::new
    - Box::new
    linkageType: ''
    returnType: Result
    signature: 'fn build_and_roundtrip(depth: usize) -> Result<(), prost::DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: tests::test_deep_nesting_oneof
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_deep_nesting_oneof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NestedGroup2::default
      Src: /src/prost/tests/src/lib.rs:425,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:428,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:428,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:429,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:434,1
    - Dst: DecodeContext::encode
      Src: /src/prost/tests/src/lib.rs:435,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:435,1
    - Dst: NestedGroup2::decode
      Src: /src/prost/tests/src/lib.rs:436,1
    - Dst: Result::map
      Src: /src/prost/tests/src/lib.rs:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 6
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::g::r::o::u::p::build_and_roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - NestedGroup2::decode
    - Result::map
    - Vec::new
    - DecodeContext::encode
    - Box::new
    - NestedGroup2::default
    linkageType: ''
    returnType: Result
    signature: 'fn build_and_roundtrip(depth: usize) -> Result<(), prost::DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 441
    functionName: tests::test_deep_nesting_group
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_deep_nesting_group()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C::default
      Src: /src/prost/tests/src/lib.rs:448,1
    - Dst: C::default
      Src: /src/prost/tests/src/lib.rs:450,1
    - Dst: push
      Src: /src/prost/tests/src/lib.rs:451,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:455,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:456,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:456,1
    - Dst: C::decode
      Src: /src/prost/tests/src/lib.rs:457,1
    - Dst: Result::map
      Src: /src/prost/tests/src/lib.rs:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::r::e::p::e::a::t::e::d::build_and_roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - C::decode
    - encode
    - C::default
    - Vec::new
    - Result::map
    - push
    linkageType: ''
    returnType: Result
    signature: 'fn build_and_roundtrip(depth: usize) -> Result<(), prost::DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 462
    functionName: tests::test_deep_nesting_repeated
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_deep_nesting_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: D::default
      Src: /src/prost/tests/src/lib.rs:469,1
    - Dst: D::default
      Src: /src/prost/tests/src/lib.rs:471,1
    - Dst: insert
      Src: /src/prost/tests/src/lib.rs:472,1
    - Dst: '&str::to_owned'
      Src: /src/prost/tests/src/lib.rs:472,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:476,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:477,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:477,1
    - Dst: D::decode
      Src: /src/prost/tests/src/lib.rs:478,1
    - Dst: Result::map
      Src: /src/prost/tests/src/lib.rs:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 6
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::m::a::p::build_and_roundtrip
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - encode
    - insert
    - D::decode
    - Vec::new
    - Result::map
    - D::default
    - '&str::to_owned'
    linkageType: ''
    returnType: Result
    signature: 'fn build_and_roundtrip(depth: usize) -> Result<(), prost::DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: tests::test_deep_nesting_map
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_deep_nesting_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:489,1
    - Dst: a::Kind::B
      Src: /src/prost/tests/src/lib.rs:489,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:489,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:490,1
    - Dst: Box::new
      Src: /src/prost/tests/src/lib.rs:490,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:491,1
    - Dst: a::Kind::C
      Src: /src/prost/tests/src/lib.rs:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: tests::test_recursive_oneof
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - a::Kind::C
    - Some
    - a::Kind::B
    linkageType: ''
    returnType: void
    signature: fn test_recursive_oneof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <() as Message>::decode
      Src: /src/prost/tests/src/lib.rs:504,1
    - Dst: Result::err
      Src: /src/prost/tests/src/lib.rs:504,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 6
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: tests::test_267_regression
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::err
    - unwrap
    - <() as Message>::decode
    linkageType: ''
    returnType: void
    signature: fn test_267_regression()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_enum_value::Test::default
      Src: /src/prost/tests/src/lib.rs:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: tests::test_default_enum
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - default_enum_value::Test::default
    linkageType: ''
    returnType: void
    signature: fn test_default_enum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:527,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:527,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:530,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:531,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:531,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:550,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:555,1
    - Dst: Vec::new
      Src: /src/prost/tests/src/lib.rs:558,1
    - Dst: encode
      Src: /src/prost/tests/src/lib.rs:559,1
    - Dst: unwrap
      Src: /src/prost/tests/src/lib.rs:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 563
    functionName: tests::test_group
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Some
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_group()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:568,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:569,1
    - Dst: groups::oneof_group::Field::S2
      Src: /src/prost/tests/src/lib.rs:569,1
    - Dst: '&str::to_string'
      Src: /src/prost/tests/src/lib.rs:569,1
    - Dst: check_message
      Src: /src/prost/tests/src/lib.rs:571,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:574,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:575,1
    - Dst: groups::oneof_group::Field::G
      Src: /src/prost/tests/src/lib.rs:575,1
    - Dst: '&str::to_string'
      Src: /src/prost/tests/src/lib.rs:577,1
    - Dst: check_message
      Src: /src/prost/tests/src/lib.rs:581,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:584,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:585,1
    - Dst: groups::oneof_group::Field::G
      Src: /src/prost/tests/src/lib.rs:585,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:586,1
    - Dst: '&str::to_string'
      Src: /src/prost/tests/src/lib.rs:587,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:588,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:589,1
    - Dst: check_message
      Src: /src/prost/tests/src/lib.rs:593,1
    - Dst: check_message
      Src: /src/prost/tests/src/lib.rs:595,1
    - Dst: groups::OneofGroup::default
      Src: /src/prost/tests/src/lib.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 566
    functionDepth: 7
    functionLinenumber: 566
    functionLinenumberEnd: 596
    functionName: tests::test_group_oneof
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - groups::oneof_group::Field::S2
    - Some
    - groups::OneofGroup::default
    - '&str::to_string'
    - check_message
    - groups::oneof_group::Field::G
    linkageType: ''
    returnType: void
    signature: fn test_group_oneof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:601,1
    - Dst: Some
      Src: /src/prost/tests/src/lib.rs:602,1
    - Dst: proto3::presence::a::Foo::C
      Src: /src/prost/tests/src/lib.rs:602,1
    - Dst: check_message
      Src: /src/prost/tests/src/lib.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 7
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: tests::test_proto3_presence
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - check_message
    - Some
    - proto3::presence::a::Foo::C
    linkageType: ''
    returnType: void
    signature: fn test_proto3_presence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prost_types::FileDescriptorSet::decode
      Src: /src/prost/tests/src/lib.rs:612,1
    - Dst: Result::unwrap
      Src: /src/prost/tests/src/lib.rs:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: tests::test_file_descriptor_set_path
    functionSourceFile: /src/prost/tests/src/lib.rs
    functionUses: 0
    functionsReached:
    - prost_types::FileDescriptorSet::decode
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_file_descriptor_set_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_unittest::TestExtremeDefaultValues::default
      Src: /src/prost/tests/src/unittest.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 48
    functionName: extreme_default_values
    functionSourceFile: /src/prost/tests/src/unittest.rs
    functionUses: 0
    functionsReached:
    - protobuf_unittest::TestExtremeDefaultValues::default
    linkageType: ''
    returnType: void
    signature: fn extreme_default_values()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: dummy
    functionSourceFile: /src/prost/tests/src/no_unused_results.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn dummy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prost_build::protoc_include
      Src: /src/prost/tests/src/bootstrap.rs:14,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:14,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:14,1
    - Dst: tempfile::Builder::new
      Src: /src/prost/tests/src/bootstrap.rs:18,1
    - Dst: DecodeError::prefix
      Src: /src/prost/tests/src/bootstrap.rs:18,1
    - Dst: tempdir
      Src: /src/prost/tests/src/bootstrap.rs:18,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:18,1
    - Dst: prost_build::Config::new
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: DecodeError::compile_well_known_types
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: btree_map
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: out_dir
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: path
      Src: /src/prost/tests/src/bootstrap.rs:26,1
    - Dst: compile_protos
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:30,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:31,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:31,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:34,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:35,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:36,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:37,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:38,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:39,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:40,1
    - Dst: Result::join
      Src: /src/prost/tests/src/bootstrap.rs:41,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:23,1
    - Dst: String::new
      Src: /src/prost/tests/src/bootstrap.rs:47,1
    - Dst: fs::File::open
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: path
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: read_to_string
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:48,1
    - Dst: String::new
      Src: /src/prost/tests/src/bootstrap.rs:53,1
    - Dst: fs::File::open
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: path
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: read_to_string
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:54,1
    - Dst: Path::new
      Src: /src/prost/tests/src/bootstrap.rs:59,1
    - Dst: DecodeError::parent
      Src: /src/prost/tests/src/bootstrap.rs:59,1
    - Dst: expect
      Src: /src/prost/tests/src/bootstrap.rs:59,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:59,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:59,1
    - Dst: String::new
      Src: /src/prost/tests/src/bootstrap.rs:65,1
    - Dst: fs::File::open
      Src: /src/prost/tests/src/bootstrap.rs:66,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:66,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:66,1
    - Dst: read_to_string
      Src: /src/prost/tests/src/bootstrap.rs:66,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:66,1
    - Dst: String::new
      Src: /src/prost/tests/src/bootstrap.rs:71,1
    - Dst: fs::File::open
      Src: /src/prost/tests/src/bootstrap.rs:72,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:72,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:72,1
    - Dst: read_to_string
      Src: /src/prost/tests/src/bootstrap.rs:72,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:72,1
    - Dst: fs::File::create
      Src: /src/prost/tests/src/bootstrap.rs:78,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:78,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:78,1
    - Dst: write_all
      Src: /src/prost/tests/src/bootstrap.rs:78,1
    - Dst: DecodeError::as_bytes
      Src: /src/prost/tests/src/bootstrap.rs:80,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:78,1
    - Dst: fs::File::create
      Src: /src/prost/tests/src/bootstrap.rs:84,1
    - Dst: join
      Src: /src/prost/tests/src/bootstrap.rs:84,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:84,1
    - Dst: write_all
      Src: /src/prost/tests/src/bootstrap.rs:84,1
    - Dst: DecodeError::as_bytes
      Src: /src/prost/tests/src/bootstrap.rs:86,1
    - Dst: unwrap
      Src: /src/prost/tests/src/bootstrap.rs:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 92
    functionName: bootstrap
    functionSourceFile: /src/prost/tests/src/bootstrap.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - prost_build::protoc_include
    - Path::new
    - read_to_string
    - String::new
    - DecodeError::prefix
    - join
    - DecodeError::as_bytes
    - write_all
    - tempfile::Builder::new
    - fs::File::create
    - DecodeError::compile_well_known_types
    - path
    - fs::File::open
    - btree_map
    - prost_build::Config::new
    - expect
    - out_dir
    - Result::join
    - DecodeError::parent
    - tempdir
    - compile_protos
    linkageType: ''
    returnType: void
    signature: fn bootstrap()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: gizmo::Gizmo::do_it
    functionSourceFile: /src/prost/tests/src/packages/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn do_it(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: Duration::normalize
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn normalize(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time::Duration::as_secs
      Src: /src/prost/prost-types/src/lib.rs:59,1
    - Dst: time::Duration::subsec_nanos
      Src: /src/prost/prost-types/src/lib.rs:65,1
    - Dst: time::Duration::normalize
      Src: /src/prost/prost-types/src/lib.rs:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - duration
    argTypes:
    - time::Duration
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: Duration::from
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached:
    - time::Duration::as_secs
    - time::Duration::subsec_nanos
    - time::Duration::normalize
    linkageType: ''
    returnType: Duration
    signature: 'fn from(duration: time::Duration) -> Duration'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Duration::normalize
      Src: /src/prost/prost-types/src/lib.rs:83,1
    - Dst: Ok
      Src: /src/prost/prost-types/src/lib.rs:85,1
    - Dst: time::Duration::new
      Src: /src/prost/prost-types/src/lib.rs:85,1
    - Dst: Err
      Src: /src/prost/prost-types/src/lib.rs:90,1
    - Dst: time::Duration::new
      Src: /src/prost/prost-types/src/lib.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Duration
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: time::Duration::try_from
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached:
    - Duration::normalize
    - Ok
    - Err
    - time::Duration::new
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(mut duration: Duration) -> Result<time::Duration, time::Duration>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: Timestamp::normalize
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn normalize(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::time::SystemTime::duration_since
      Src: /src/prost/prost-types/src/lib.rs:126,1
    - Dst: i64::try_from
      Src: /src/prost/prost-types/src/lib.rs:128,1
    - Dst: as_secs
      Src: /src/prost/prost-types/src/lib.rs:128,1
    - Dst: Result::unwrap
      Src: /src/prost/prost-types/src/lib.rs:128,1
    - Dst: subsec_nanos
      Src: /src/prost/prost-types/src/lib.rs:129,1
    - Dst: Result::duration
      Src: /src/prost/prost-types/src/lib.rs:132,1
    - Dst: i64::try_from
      Src: /src/prost/prost-types/src/lib.rs:133,1
    - Dst: as_secs
      Src: /src/prost/prost-types/src/lib.rs:133,1
    - Dst: Result::unwrap
      Src: /src/prost/prost-types/src/lib.rs:133,1
    - Dst: subsec_nanos
      Src: /src/prost/prost-types/src/lib.rs:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - system_time
    argTypes:
    - std::time::SystemTime
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: Timestamp::from
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached:
    - subsec_nanos
    - as_secs
    - i64::try_from
    - Result::duration
    - std::time::SystemTime::duration_since
    - Result::unwrap
    linkageType: ''
    returnType: Timestamp
    signature: 'fn from(system_time: std::time::SystemTime) -> Timestamp'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Timestamp::normalize
      Src: /src/prost/prost-types/src/lib.rs:149,1
    - Dst: time::Duration::from_secs
      Src: /src/prost/prost-types/src/lib.rs:151,1
    - Dst: time::Duration::from_secs
      Src: /src/prost/prost-types/src/lib.rs:153,1
    - Dst: time::Duration::from_nanos
      Src: /src/prost/prost-types/src/lib.rs:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - Timestamp
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: std::time::SystemTime::from
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached:
    - time::Duration::from_secs
    - Timestamp::normalize
    - time::Duration::from_nanos
    linkageType: ''
    returnType: std::time::SystemTime
    signature: 'fn from(mut timestamp: Timestamp) -> std::time::SystemTime'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 218
    functionName: tests::check_timestamp_negative_seconds
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn check_timestamp_negative_seconds()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: tests::check_timestamp_negative_seconds_1ns
    functionSourceFile: /src/prost/prost-types/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn check_timestamp_negative_seconds_1ns()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::encode
      Src: /src/prost/src/types.rs:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: bool::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bool::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::merge
      Src: /src/prost/src/types.rs:42,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: bool::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bool::merge
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: bool::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: bool::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint32::encode
      Src: /src/prost/src/types.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: u32::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - uint32::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint32::merge
      Src: /src/prost/src/types.rs:80,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: u32::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    - uint32::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint32::encoded_len
      Src: /src/prost/src/types.rs:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: u32::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - uint32::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: u32::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint64::encode
      Src: /src/prost/src/types.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: u64::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - uint64::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint64::merge
      Src: /src/prost/src/types.rs:118,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: u64::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    - uint64::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint64::encoded_len
      Src: /src/prost/src/types.rs:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: u64::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - uint64::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: u64::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int32::encode
      Src: /src/prost/src/types.rs:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: i32::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int32::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int32::merge
      Src: /src/prost/src/types.rs:156,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: i32::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int32::merge
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int32::encoded_len
      Src: /src/prost/src/types.rs:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: i32::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int32::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: i32::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int64::encode
      Src: /src/prost/src/types.rs:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: i64::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int64::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int64::merge
      Src: /src/prost/src/types.rs:194,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: i64::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int64::merge
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: int64::encoded_len
      Src: /src/prost/src/types.rs:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: i64::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - int64::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: i64::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: float::encode
      Src: /src/prost/src/types.rs:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: f32::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - float::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: float::merge
      Src: /src/prost/src/types.rs:232,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: f32::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    - float::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: float::encoded_len
      Src: /src/prost/src/types.rs:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: f32::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - float::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: f32::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: double::encode
      Src: /src/prost/src/types.rs:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: f64::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - double::encode
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: double::merge
      Src: /src/prost/src/types.rs:270,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: f64::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    - double::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: double::encoded_len
      Src: /src/prost/src/types.rs:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: f64::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - double::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: f64::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::is_empty
      Src: /src/prost/src/types.rs:293,1
    - Dst: string::encode
      Src: /src/prost/src/types.rs:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: String::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - string::encode
    - String::is_empty
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: string::merge
      Src: /src/prost/src/types.rs:308,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: String::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    - string::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::is_empty
      Src: /src/prost/src/types.rs:314,1
    - Dst: string::encoded_len
      Src: /src/prost/src/types.rs:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: String::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - String::is_empty
    - string::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::clear
      Src: /src/prost/src/types.rs:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: String::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 1
    functionsReached:
    - String::clear
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::is_empty
      Src: /src/prost/src/types.rs:331,1
    - Dst: bytes::encode
      Src: /src/prost/src/types.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: Vec::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bytes::encode
    - Vec::is_empty
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes::merge
      Src: /src/prost/src/types.rs:346,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: Vec::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bytes::merge
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::is_empty
      Src: /src/prost/src/types.rs:352,1
    - Dst: bytes::encoded_len
      Src: /src/prost/src/types.rs:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: Vec::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bytes::encoded_len
    - Vec::is_empty
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::clear
      Src: /src/prost/src/types.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: Vec::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 2
    functionsReached:
    - Vec::clear
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::is_empty
      Src: /src/prost/src/types.rs:369,1
    - Dst: bytes::encode
      Src: /src/prost/src/types.rs:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: Bytes::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bytes::encode
    - Bytes::is_empty
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes::merge
      Src: /src/prost/src/types.rs:384,1
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: Bytes::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - bytes::merge
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::is_empty
      Src: /src/prost/src/types.rs:390,1
    - Dst: bytes::encoded_len
      Src: /src/prost/src/types.rs:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: Bytes::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - Bytes::is_empty
    - bytes::encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::clear
      Src: /src/prost/src/types.rs:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: Bytes::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 1
    functionsReached:
    - Bytes::clear
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: ()::encode_raw
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, _buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        encoding::skip_field'
      Src: /src/prost/src/types.rs:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: ()::merge_field
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached:
    - '{

      encoding::skip_field'
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: ()::encoded_len
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: ()::clear
    functionSourceFile: /src/prost/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::chunk_mut
      Src: /src/prost/src/encoding.rs:42,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:43,1
    - Dst: as_mut_ptr
      Src: /src/prost/src/encoding.rs:45,1
    - Dst: add
      Src: /src/prost/src/encoding.rs:45,1
    - Dst: write
      Src: /src/prost/src/encoding.rs:47,1
    - Dst: write
      Src: /src/prost/src/encoding.rs:50,1
    - Dst: Result::advance_mut
      Src: /src/prost/src/encoding.rs:55,1
    - Dst: Result::advance_mut
      Src: /src/prost/src/encoding.rs:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - value
    - buf
    argTypes:
    - u64
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: encode_varint
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 10
    functionsReached:
    - len
    - Result::advance_mut
    - write
    - as_mut_ptr
    - Result::chunk_mut
    - add
    linkageType: ''
    returnType: void
    signature: 'pub fn encode_varint<B>(mut value: u64, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::chunk
      Src: /src/prost/src/encoding.rs:68,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:69,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:71,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:71,1
    - Dst: get_unchecked
      Src: /src/prost/src/encoding.rs:74,1
    - Dst: Result::advance
      Src: /src/prost/src/encoding.rs:76,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:77,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:77,1
    - Dst: decode_varint_slice
      Src: /src/prost/src/encoding.rs:79,1
    - Dst: Result::advance
      Src: /src/prost/src/encoding.rs:80,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:81,1
    - Dst: decode_varint_slow
      Src: /src/prost/src/encoding.rs:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: decode_varint
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 7
    functionsReached:
    - DecodeError::new
    - Err
    - len
    - get_unchecked
    - Result::advance
    - decode_varint_slice
    - u64::from
    - decode_varint_slow
    - Ok
    - Result::chunk
    linkageType: ''
    returnType: Result
    signature: 'pub fn decode_varint<B>(buf: &mut B) -> Result<u64, DecodeError>whereB:
      Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:104,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:105,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:107,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:107,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:110,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:111,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:113,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:113,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:116,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:117,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:119,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:119,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:122,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:123,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:125,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:125,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:128,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:131,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:132,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:134,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:134,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:137,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:138,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:140,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:140,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:143,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:144,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:146,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:146,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:149,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:150,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:152,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:152,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:155,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:158,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:159,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:161,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:161,1
    - Dst: '&[u8]::get_unchecked'
      Src: /src/prost/src/encoding.rs:164,1
    - Dst: u32::from
      Src: /src/prost/src/encoding.rs:165,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:167,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:167,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:171,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 201
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 172
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 172
    functionName: decode_varint_slice
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - Err
    - DecodeError::new
    - u32::from
    - u64::from
    - '&[u8]::get_unchecked'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'unsafe fn decode_varint_slice(bytes: &[u8]) -> Result<(u64, usize),
      DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/prost/src/encoding.rs:182,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:182,1
    - Dst: Result::get_u8
      Src: /src/prost/src/encoding.rs:183,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:184,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:186,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:190,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: decode_varint_slow
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 2
    functionsReached:
    - Err
    - DecodeError::new
    - Result::get_u8
    - Result::remaining
    - core::cmp::min
    - u64::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn decode_varint_slow<B>(buf: &mut B) -> Result<u64, DecodeError>whereB:
      Buf,'
  - 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: DecodeContext::default
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: DecodeContext
    signature: fn default() -> DecodeContext
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: DecodeContext::enter_recursion
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: DecodeContext
    signature: pub(crate) fn enter_recursion(&self) -> DecodeContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: DecodeContext::limit_reached
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 3
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn limit_reached(&self) -> Result<(), DecodeError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: leading_zeros
      Src: /src/prost/src/encoding.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: encoded_len_varint
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 10
    functionsReached:
    - leading_zeros
    linkageType: ''
    returnType: usize
    signature: 'pub fn encoded_len_varint(value: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:297,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:298,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:299,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:300,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:301,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:302,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:303,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: WireType::try_from
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - DecodeError::new
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u64) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:320,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tag
    - wire_type
    - buf
    argTypes:
    - u32
    - WireType
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: encode_key
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 6
    functionsReached:
    - u64::from
    - encode_varint
    linkageType: ''
    returnType: void
    signature: 'pub fn encode_key<B>(tag: u32, wire_type: WireType, buf: &mut B)whereB:
      BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:330,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:331,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:332,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:332,1
    - Dst: WireType::try_from
      Src: /src/prost/src/encoding.rs:334,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:338,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:338,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: decode_key
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 7
    functionsReached:
    - DecodeError::new
    - Err
    - WireType::try_from
    - u64::from
    - decode_varint
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decode_key<B>(buf: &mut B) -> Result<(u32, WireType), DecodeError>whereB:
      Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:348,1
    - Dst: u64::from
      Src: /src/prost/src/encoding.rs:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: key_len
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 7
    functionsReached:
    - u64::from
    - encoded_len_varint
    linkageType: ''
    returnType: usize
    signature: 'pub fn key_len(tag: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/prost/src/encoding.rs:356,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:356,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - WireType
    - WireType
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: check_wire_type
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 8
    functionsReached:
    - DecodeError::new
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn check_wire_type(expected: WireType, actual: WireType) -> Result<(),
      DecodeError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:376,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:377,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:379,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:379,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:383,1
    - Dst: merge
      Src: /src/prost/src/encoding.rs:384,1
    - Dst: DecodeContext::clone
      Src: /src/prost/src/encoding.rs:384,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:387,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:388,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:388,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - value
    - buf
    - ctx
    - merge
    argTypes:
    - '&mut T'
    - '&mut B'
    - DecodeContext
    - M
    constantsTouched: []
    func_position:
      end: 391
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 391
    functionName: merge_loop
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 3
    functionsReached:
    - DecodeError::new
    - Err
    - DecodeContext::clone
    - Result::remaining
    - decode_varint
    - merge
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge_loop<T, M, B>(value: &mut T,buf: &mut B,ctx: DecodeContext,mut
      merge: M,) -> Result<(), DecodeError>whereM: FnMut(&mut T, &mut B, DecodeContext)
      -> Result<(), DecodeError>,B: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecodeContext::limit_reached
      Src: /src/prost/src/encoding.rs:402,1
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:404,1
    - Dst: Result::map
      Src: /src/prost/src/encoding.rs:404,1
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:407,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:409,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:413,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:413,1
    - Dst: skip_field
      Src: /src/prost/src/encoding.rs:417,1
    - Dst: DecodeContext::enter_recursion
      Src: /src/prost/src/encoding.rs:417,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:420,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:420,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:423,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:424,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:424,1
    - Dst: Result::advance
      Src: /src/prost/src/encoding.rs:427,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:428,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - wire_type
    - tag
    - buf
    - ctx
    argTypes:
    - WireType
    - u32
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: skip_field
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 13
    functionsReached:
    - decode_key
    - Err
    - DecodeError::new
    - Ok
    - skip_field
    - Result::remaining
    - decode_varint
    - DecodeContext::enter_recursion
    - Result::advance
    - DecodeContext::limit_reached
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_field<B>(wire_type: WireType,tag: u32,buf: &mut B,ctx:
      DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/prost/src/encoding.rs:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: encode_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 2
    functionsReached:
    - encode
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: merge_loop
      Src: /src/prost/src/encoding.rs:13,1
    - Dst: Default::default
      Src: /src/prost/src/encoding.rs:14,1
    - Dst: push
      Src: /src/prost/src/encoding.rs:16,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:17,1
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:21,1
    - Dst: Default::default
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: push
      Src: /src/prost/src/encoding.rs:24,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 478
    functionName: merge_repeated_numeric
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - Default::default
    - merge_loop
    - check_wire_type
    - Ok
    - push
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 586
    functionName: varint
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:9,1
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:23,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:24,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:24,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:27,1
    - Dst: encode_repeated
      Src: /src/prost/src/encoding.rs:30,1
    - Dst: is_empty
      Src: /src/prost/src/encoding.rs:36,1
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:40,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:41,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:42,1
    - Dst: merge_repeated_numeric
      Src: /src/prost/src/encoding.rs:49,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:53,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:58,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:58,1
    - Dst: is_empty
      Src: /src/prost/src/encoding.rs:63,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:66,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:67,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 612
    functionDepth: 6
    functionLinenumber: 612
    functionLinenumberEnd: 717
    functionName: fixed_width
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - DecodeError::new
    - Err
    - is_empty
    - len
    - encode_varint
    - encode_repeated
    - Result::remaining
    - encode_key
    - key_len
    - merge_repeated_numeric
    - check_wire_type
    - encoded_len_varint
    - Ok
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_repeated
      Src: /src/prost/src/encoding.rs:2,1
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:13,1
    - Dst: Default::default
      Src: /src/prost/src/encoding.rs:14,1
    - Dst: merge
      Src: /src/prost/src/encoding.rs:15,1
    - Dst: push
      Src: /src/prost/src/encoding.rs:16,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:17,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: DecodeContext::len
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: DecodeContext::len
      Src: /src/prost/src/encoding.rs:22,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:27,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:27,1
    - Dst: iter
      Src: /src/prost/src/encoding.rs:28,1
    - Dst: Result::map
      Src: /src/prost/src/encoding.rs:28,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:30,1
    - Dst: DecodeContext::len
      Src: /src/prost/src/encoding.rs:30,1
    - Dst: DecodeContext::len
      Src: /src/prost/src/encoding.rs:30,1
    - Dst: "iter()\n                    .map(|value| encoded_len_varint(value.len()\
        \ as u64) + value.len())\n                    .sum::<usize>"
      Src: /src/prost/src/encoding.rs:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 802
    functionName: length_delimited
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - Default::default
    - iter
    - DecodeContext::len
    - len
    - encode_repeated
    - Result::map
    - key_len
    - merge
    - "iter()\n                    .map(|value| encoded_len_varint(value.len() as\
      \ u64) + value.len())\n                    .sum::<usize>"
    - check_wire_type
    - encoded_len_varint
    - Ok
    - push
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:811,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:812,1
    - Dst: '&String::len'
      Src: /src/prost/src/encoding.rs:812,1
    - Dst: Result::put_slice
      Src: /src/prost/src/encoding.rs:813,1
    - Dst: '&String::as_bytes'
      Src: /src/prost/src/encoding.rs:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - tag
    - value
    - buf
    argTypes:
    - u32
    - '&String'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: string::encode
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - encode_varint
    - '&String::as_bytes'
    - encode_key
    - Result::put_slice
    - '&String::len'
    linkageType: ''
    returnType: void
    signature: 'pub fn encode<B>(tag: u32, value: &String, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/prost/src/encoding.rs:842,1
    - Dst: DropGuard
      Src: /src/prost/src/encoding.rs:846,1
    - Dst: '&mut String::as_mut_vec'
      Src: /src/prost/src/encoding.rs:846,1
    - Dst: bytes::merge
      Src: /src/prost/src/encoding.rs:847,1
    - Dst: str::from_utf8
      Src: /src/prost/src/encoding.rs:848,1
    - Dst: mem::forget
      Src: /src/prost/src/encoding.rs:851,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:852,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:854,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - wire_type
    - value
    - buf
    - ctx
    argTypes:
    - WireType
    - '&mut String'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 859
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 859
    functionName: string::merge
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 2
    functionsReached:
    - '&mut String::as_mut_vec'
    - mem::forget
    - Err
    - DecodeError::new
    - clear
    - DropGuard
    - bytes::merge
    - Ok
    - str::from_utf8
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge<B>(wire_type: WireType,value: &mut String,buf: &mut B,ctx:
      DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::remaining
      Src: /src/prost/src/encoding.rs:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: Bytes::len
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - Buf::remaining
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::copy_to_bytes
      Src: /src/prost/src/encoding.rs:921,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 922
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 922
    functionName: Bytes::replace_with
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - Result::copy_to_bytes
    - Result::remaining
    linkageType: ''
    returnType: void
    signature: 'fn replace_with<B>(&mut self, mut buf: B)whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::put
      Src: /src/prost/src/encoding.rs:928,1
    - Dst: Bytes::clone
      Src: /src/prost/src/encoding.rs:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: Bytes::append_to
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - Bytes::clone
    - Result::put
    linkageType: ''
    returnType: void
    signature: 'fn append_to<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/prost/src/encoding.rs:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 937
    functionName: Vec::len
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 3
    functionsReached:
    - Vec::len
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::clear
      Src: /src/prost/src/encoding.rs:943,1
    - Dst: Vec::reserve
      Src: /src/prost/src/encoding.rs:944,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:944,1
    - Dst: Vec::put
      Src: /src/prost/src/encoding.rs:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 946
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 946
    functionName: Vec::replace_with
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - Vec::clear
    - Vec::reserve
    - Vec::put
    - Result::remaining
    linkageType: ''
    returnType: void
    signature: 'fn replace_with<B>(&mut self, buf: B)whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::put
      Src: /src/prost/src/encoding.rs:952,1
    - Dst: Vec::as_slice
      Src: /src/prost/src/encoding.rs:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: Vec::append_to
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - Result::put
    - Vec::as_slice
    linkageType: ''
    returnType: void
    signature: 'fn append_to<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:964,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:965,1
    - Dst: '&A::len'
      Src: /src/prost/src/encoding.rs:965,1
    - Dst: '&A::append_to'
      Src: /src/prost/src/encoding.rs:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tag
    - value
    - buf
    argTypes:
    - u32
    - '&A'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 967
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 967
    functionName: bytes::encode
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 2
    functionsReached:
    - encode_key
    - '&A::len'
    - '&A::append_to'
    - encode_varint
    linkageType: ''
    returnType: void
    signature: 'pub fn encode<A, B>(tag: u32, value: &A, buf: &mut B)whereA: BytesAdapter,B:
      BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:979,1
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:980,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:981,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:982,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:982,1
    - Dst: '&mut A::replace_with'
      Src: /src/prost/src/encoding.rs:994,1
    - Dst: Result::copy_to_bytes
      Src: /src/prost/src/encoding.rs:994,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - wire_type
    - value
    - buf
    - _ctx
    argTypes:
    - WireType
    - '&mut A'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 996
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 996
    functionName: bytes::merge
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 3
    functionsReached:
    - Result::copy_to_bytes
    - Err
    - DecodeError::new
    - Result::remaining
    - decode_varint
    - check_wire_type
    - Ok
    - '&mut A::replace_with'
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge<A, B>(wire_type: WireType,value: &mut A,buf: &mut B,_ctx:
      DecodeContext,) -> Result<(), DecodeError>whereA: BytesAdapter,B: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:1047,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:1048,1
    - Dst: '&M::encoded_len'
      Src: /src/prost/src/encoding.rs:1048,1
    - Dst: '&M::encode_raw'
      Src: /src/prost/src/encoding.rs:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tag
    - msg
    - buf
    argTypes:
    - u32
    - '&M'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    functionName: message::encode
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - encode_key
    - '&M::encoded_len'
    - '&M::encode_raw'
    - encode_varint
    linkageType: ''
    returnType: void
    signature: 'pub fn encode<M, B>(tag: u32, msg: &M, buf: &mut B)whereM: Message,B:
      BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:1062,1
    - Dst: DecodeContext::limit_reached
      Src: /src/prost/src/encoding.rs:1063,1
    - Dst: merge_loop
      Src: /src/prost/src/encoding.rs:1064,1
    - Dst: DecodeContext::enter_recursion
      Src: /src/prost/src/encoding.rs:1067,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:1069,1
    - Dst: '&mut M::merge_field'
      Src: /src/prost/src/encoding.rs:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - wire_type
    - msg
    - buf
    - ctx
    argTypes:
    - WireType
    - '&mut M'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 1073
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1073
    functionName: message::merge
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 1
    functionsReached:
    - decode_key
    - merge_loop
    - DecodeContext::enter_recursion
    - check_wire_type
    - DecodeContext::limit_reached
    - '&mut M::merge_field'
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge<M, B>(wire_type: WireType,msg: &mut M,buf: &mut B,ctx:
      DecodeContext,) -> Result<(), DecodeError>whereM: Message,B: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/prost/src/encoding.rs:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tag
    - messages
    - buf
    argTypes:
    - u32
    - '&[M]'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 1083
      start: 1075
    functionDepth: 4
    functionLinenumber: 1075
    functionLinenumberEnd: 1083
    functionName: message::encode_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: 'pub fn encode_repeated<M, B>(tag: u32, messages: &[M], buf: &mut B)whereM:
      Message,B: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:1095,1
    - Dst: M::default
      Src: /src/prost/src/encoding.rs:1096,1
    - Dst: merge
      Src: /src/prost/src/encoding.rs:1097,1
    - Dst: '&mut Vec<M>::push'
      Src: /src/prost/src/encoding.rs:1098,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - wire_type
    - messages
    - buf
    - ctx
    argTypes:
    - WireType
    - '&mut Vec<M>'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 1100
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1100
    functionName: message::merge_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - merge
    - '&mut Vec<M>::push'
    - M::default
    - check_wire_type
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge_repeated<M, B>(wire_type: WireType,messages: &mut Vec<M>,buf:
      &mut B,ctx: DecodeContext,) -> Result<(), DecodeError>whereM: Message + Default,B:
      Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&M::encoded_len'
      Src: /src/prost/src/encoding.rs:1107,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:1108,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tag
    - msg
    argTypes:
    - u32
    - '&M'
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: message::encoded_len
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - key_len
    - '&M::encoded_len'
    - encoded_len_varint
    linkageType: ''
    returnType: usize
    signature: 'pub fn encoded_len<M>(tag: u32, msg: &M) -> usizewhereM: Message,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:1116,1
    - Dst: '&[M]::len'
      Src: /src/prost/src/encoding.rs:1116,1
    - Dst: '&[M]::iter'
      Src: /src/prost/src/encoding.rs:1117,1
    - Dst: Result::map
      Src: /src/prost/src/encoding.rs:1117,1
    - Dst: map
      Src: /src/prost/src/encoding.rs:1117,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:1120,1
    - Dst: "iter()\n                .map(Message::encoded_len)\n                .map(|len|\
        \ len + encoded_len_varint(len as u64))\n                .sum::<usize>"
      Src: /src/prost/src/encoding.rs:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - tag
    - messages
    argTypes:
    - u32
    - '&[M]'
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 6
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    functionName: message::encoded_len_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - "iter()\n                .map(Message::encoded_len)\n                .map(|len|\
      \ len + encoded_len_varint(len as u64))\n                .sum::<usize>"
    - '&[M]::iter'
    - map
    - key_len
    - '&[M]::len'
    - encoded_len_varint
    - Result::map
    linkageType: ''
    returnType: usize
    signature: 'pub fn encoded_len_repeated<M>(tag: u32, messages: &[M]) -> usizewhereM:
      Message,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:1133,1
    - Dst: '&M::encode_raw'
      Src: /src/prost/src/encoding.rs:1134,1
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - tag
    - msg
    - buf
    argTypes:
    - u32
    - '&M'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 1136
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1136
    functionName: group::encode
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - encode_key
    - '&M::encode_raw'
    linkageType: ''
    returnType: void
    signature: 'pub fn encode<M, B>(tag: u32, msg: &M, buf: &mut B)whereM: Message,B:
      BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:1149,1
    - Dst: DecodeContext::limit_reached
      Src: /src/prost/src/encoding.rs:1151,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:1153,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:1156,1
    - Dst: DecodeError::new
      Src: /src/prost/src/encoding.rs:1156,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1158,1
    - Dst: M::merge_field
      Src: /src/prost/src/encoding.rs:1161,1
    - Dst: DecodeContext::enter_recursion
      Src: /src/prost/src/encoding.rs:1161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - tag
    - wire_type
    - msg
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut M'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 1163
      start: 1138
    functionDepth: 5
    functionLinenumber: 1138
    functionLinenumberEnd: 1163
    functionName: group::merge
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - decode_key
    - Err
    - DecodeError::new
    - M::merge_field
    - DecodeContext::enter_recursion
    - check_wire_type
    - DecodeContext::limit_reached
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge<M, B>(tag: u32,wire_type: WireType,msg: &mut M,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereM: Message,B: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/prost/src/encoding.rs:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tag
    - messages
    - buf
    argTypes:
    - u32
    - '&[M]'
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 1173
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1173
    functionName: group::encode_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: 'pub fn encode_repeated<M, B>(tag: u32, messages: &[M], buf: &mut B)whereM:
      Message,B: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_wire_type
      Src: /src/prost/src/encoding.rs:1186,1
    - Dst: M::default
      Src: /src/prost/src/encoding.rs:1187,1
    - Dst: merge
      Src: /src/prost/src/encoding.rs:1188,1
    - Dst: '&mut Vec<M>::push'
      Src: /src/prost/src/encoding.rs:1189,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - tag
    - wire_type
    - messages
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut Vec<M>'
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 1191
      start: 1175
    functionDepth: 5
    functionLinenumber: 1175
    functionLinenumberEnd: 1191
    functionName: group::merge_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - merge
    - '&mut Vec<M>::push'
    - M::default
    - check_wire_type
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn merge_repeated<M, B>(tag: u32,wire_type: WireType,messages:
      &mut Vec<M>,buf: &mut B,ctx: DecodeContext,) -> Result<(), DecodeError>whereM:
      Message + Default,B: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:1198,1
    - Dst: '&M::encoded_len'
      Src: /src/prost/src/encoding.rs:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tag
    - msg
    argTypes:
    - u32
    - '&M'
    constantsTouched: []
    func_position:
      end: 1199
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1199
    functionName: group::encoded_len
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - key_len
    - '&M::encoded_len'
    linkageType: ''
    returnType: usize
    signature: 'pub fn encoded_len<M>(tag: u32, msg: &M) -> usizewhereM: Message,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:1206,1
    - Dst: '&[M]::len'
      Src: /src/prost/src/encoding.rs:1206,1
    - Dst: '&[M]::iter'
      Src: /src/prost/src/encoding.rs:1206,1
    - Dst: Result::map
      Src: /src/prost/src/encoding.rs:1206,1
    - Dst: iter().map(Message::encoded_len).sum::<usize>
      Src: /src/prost/src/encoding.rs:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - tag
    - messages
    argTypes:
    - u32
    - '&[M]'
    constantsTouched: []
    func_position:
      end: 1207
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1207
    functionName: group::encoded_len_repeated
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - '&[M]::iter'
    - iter().map(Message::encoded_len).sum::<usize>
    - key_len
    - '&[M]::len'
    - Result::map
    linkageType: ''
    returnType: usize
    signature: 'pub fn encoded_len_repeated<M>(tag: u32, messages: &[M]) -> usizewhereM:
      Message,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_with_default
      Src: /src/prost/src/encoding.rs:23,1
    - Dst: V::default
      Src: /src/prost/src/encoding.rs:28,1
    - Dst: merge_with_default
      Src: /src/prost/src/encoding.rs:50,1
    - Dst: V::default
      Src: /src/prost/src/encoding.rs:50,1
    - Dst: encoded_len_with_default
      Src: /src/prost/src/encoding.rs:66,1
    - Dst: V::default
      Src: /src/prost/src/encoding.rs:66,1
    - Dst: iter
      Src: /src/prost/src/encoding.rs:91,1
    - Dst: K::default
      Src: /src/prost/src/encoding.rs:92,1
    - Dst: key_encoded_len
      Src: /src/prost/src/encoding.rs:95,1
    - Dst: val_encoded_len
      Src: /src/prost/src/encoding.rs:96,1
    - Dst: encode_key
      Src: /src/prost/src/encoding.rs:98,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:99,1
    - Dst: key_encode
      Src: /src/prost/src/encoding.rs:101,1
    - Dst: val_encode
      Src: /src/prost/src/encoding.rs:104,1
    - Dst: Default::default
      Src: /src/prost/src/encoding.rs:127,1
    - Dst: limit_reached
      Src: /src/prost/src/encoding.rs:129,1
    - Dst: merge_loop
      Src: /src/prost/src/encoding.rs:130,1
    - Dst: enter_recursion
      Src: /src/prost/src/encoding.rs:133,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:135,1
    - Dst: key_merge
      Src: /src/prost/src/encoding.rs:137,1
    - Dst: val_merge
      Src: /src/prost/src/encoding.rs:138,1
    - Dst: skip_field
      Src: /src/prost/src/encoding.rs:139,1
    - Dst: insert
      Src: /src/prost/src/encoding.rs:143,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:145,1
    - Dst: key_len
      Src: /src/prost/src/encoding.rs:165,1
    - Dst: len
      Src: /src/prost/src/encoding.rs:165,1
    - Dst: iter
      Src: /src/prost/src/encoding.rs:166,1
    - Dst: Result::map
      Src: /src/prost/src/encoding.rs:166,1
    - Dst: K::default
      Src: /src/prost/src/encoding.rs:169,1
    - Dst: key_encoded_len
      Src: /src/prost/src/encoding.rs:172,1
    - Dst: val_encoded_len
      Src: /src/prost/src/encoding.rs:176,1
    - Dst: encoded_len_varint
      Src: /src/prost/src/encoding.rs:178,1
    - Dst: "iter()\n                    .map(|(key, val)| {\n                    \
        \    let len = (if key == &K::default() {\n                            0\n\
        \                        } else {\n                            key_encoded_len(1,\
        \ key)\n                        }) + (if val == val_default {\n          \
        \                  0\n                        } else {\n                 \
        \           val_encoded_len(2, val)\n                        });\n       \
        \                 encoded_len_varint(len as u64) + len\n                 \
        \   })\n                    .sum::<usize>"
      Src: /src/prost/src/encoding.rs:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1212
    functionDepth: 5
    functionLinenumber: 1212
    functionLinenumberEnd: 1395
    functionName: map
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 25
    functionsReached:
    - encoded_len_with_default
    - encode_varint
    - iter
    - limit_reached
    - val_encoded_len
    - "iter()\n                    .map(|(key, val)| {\n                        let\
      \ len = (if key == &K::default() {\n                            0\n        \
      \                } else {\n                            key_encoded_len(1, key)\n\
      \                        }) + (if val == val_default {\n                   \
      \         0\n                        } else {\n                            val_encoded_len(2,\
      \ val)\n                        });\n                        encoded_len_varint(len\
      \ as u64) + len\n                    })\n                    .sum::<usize>"
    - key_encode
    - encode_key
    - encoded_len_varint
    - K::default
    - encode_with_default
    - key_merge
    - enter_recursion
    - insert
    - Result::map
    - decode_key
    - merge_with_default
    - Default::default
    - len
    - skip_field
    - merge_loop
    - val_merge
    - key_len
    - key_encoded_len
    - V::default
    - val_encode
    - Ok
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::borrow
      Src: /src/prost/src/encoding.rs:1433,1
    - Dst: BytesMut::with_capacity
      Src: /src/prost/src/encoding.rs:1435,1
    - Dst: T::borrow
      Src: /src/prost/src/encoding.rs:1436,1
    - Dst: Result::freeze
      Src: /src/prost/src/encoding.rs:1438,1
    - Dst: Result::has_remaining
      Src: /src/prost/src/encoding.rs:1448,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1450,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:1454,1
    - Dst: Result::map_err
      Src: /src/prost/src/encoding.rs:1454,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1454,1
    - Dst: Result::to_string
      Src: /src/prost/src/encoding.rs:1454,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:1472,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:1472,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1472,1
    - Dst: Result::remaining
      Src: /src/prost/src/encoding.rs:1477,1
    - Dst: Err
      Src: /src/prost/src/encoding.rs:1477,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1477,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1482,1
    - Dst: T::default
      Src: /src/prost/src/encoding.rs:1485,1
    - Dst: DecodeContext::default
      Src: /src/prost/src/encoding.rs:1490,1
    - Dst: Result::map_err
      Src: /src/prost/src/encoding.rs:1486,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1492,1
    - Dst: Result::to_string
      Src: /src/prost/src/encoding.rs:1492,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 6
    argNames:
    - value
    - tag
    - wire_type
    - encode
    - merge
    - encoded_len
    argTypes:
    - T
    - u32
    - WireType
    - fn(u32, &B, &mut BytesMut)
    - fn(WireType, &mut T, &mut Bytes, DecodeContext) -> Result<(), DecodeError>
    - fn(u32, &B) -> usize
    constantsTouched: []
    func_position:
      end: 1503
      start: 1419
    functionDepth: 4
    functionLinenumber: 1419
    functionLinenumberEnd: 1503
    functionName: test::check_type
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - decode_key
    - Err
    - Result::freeze
    - T::borrow
    - Result::map_err
    - BytesMut::with_capacity
    - Result::remaining
    - T::default
    - Result::has_remaining
    - Result::to_string
    - Ok
    - TestCaseError::fail
    - DecodeContext::default
    linkageType: ''
    returnType: TestCaseResult
    signature: 'pub fn check_type<T, B>(value: T,tag: u32,wire_type: WireType,encode:
      fn(u32, &B, &mut BytesMut),merge: fn(WireType, &mut T, &mut Bytes, DecodeContext)
      -> Result<(), DecodeError>,encoded_len: fn(u32, &B) -> usize,) -> TestCaseResultwhereT:
      Debug + Default + PartialEq + Borrow<B>,B: ?Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/prost/src/encoding.rs:1522,1
    - Dst: T::borrow
      Src: /src/prost/src/encoding.rs:1522,1
    - Dst: BytesMut::with_capacity
      Src: /src/prost/src/encoding.rs:1524,1
    - Dst: encode
      Src: /src/prost/src/encoding.rs:1525,1
    - Dst: T::borrow
      Src: /src/prost/src/encoding.rs:1525,1
    - Dst: Result::freeze
      Src: /src/prost/src/encoding.rs:1527,1
    - Dst: Default::default
      Src: /src/prost/src/encoding.rs:1537,1
    - Dst: Result::has_remaining
      Src: /src/prost/src/encoding.rs:1538,1
    - Dst: decode_key
      Src: /src/prost/src/encoding.rs:1540,1
    - Dst: Result::map_err
      Src: /src/prost/src/encoding.rs:1540,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1540,1
    - Dst: Result::to_string
      Src: /src/prost/src/encoding.rs:1540,1
    - Dst: merge
      Src: /src/prost/src/encoding.rs:1558,1
    - Dst: DecodeContext::default
      Src: /src/prost/src/encoding.rs:1562,1
    - Dst: Result::map_err
      Src: /src/prost/src/encoding.rs:1558,1
    - Dst: TestCaseError::fail
      Src: /src/prost/src/encoding.rs:1564,1
    - Dst: Result::to_string
      Src: /src/prost/src/encoding.rs:1564,1
    - Dst: Ok
      Src: /src/prost/src/encoding.rs:1569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 6
    argNames:
    - value
    - tag
    - wire_type
    - encode
    - merge
    - encoded_len
    argTypes:
    - T
    - u32
    - WireType
    - E
    - M
    - L
    constantsTouched: []
    func_position:
      end: 1570
      start: 1505
    functionDepth: 4
    functionLinenumber: 1505
    functionLinenumberEnd: 1570
    functionName: test::check_collection_type
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - decode_key
    - encode
    - Default::default
    - Result::freeze
    - T::borrow
    - Result::map_err
    - BytesMut::with_capacity
    - encoded_len
    - Result::has_remaining
    - merge
    - Result::to_string
    - Ok
    - TestCaseError::fail
    - DecodeContext::default
    linkageType: ''
    returnType: TestCaseResult
    signature: 'pub fn check_collection_type<T, B, E, M, L>(value: T,tag: u32,wire_type:
      WireType,encode: E,mut merge: M,encoded_len: L,) -> TestCaseResultwhereT: Debug
      + Default + PartialEq + Borrow<B>,B: ?Sized,E: FnOnce(u32, &B, &mut BytesMut),M:
      FnMut(WireType, &mut T, &mut Bytes, DecodeContext) -> Result<(), DecodeError>,L:
      FnOnce(u32, &B) -> usize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/prost/src/encoding.rs:1574,1
    - Dst: string::merge
      Src: /src/prost/src/encoding.rs:1577,1
    - Dst: DecodeContext::default
      Src: /src/prost/src/encoding.rs:1581,1
    - Dst: Result::expect_err
      Src: /src/prost/src/encoding.rs:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1573
    functionDepth: 5
    functionLinenumber: 1573
    functionLinenumberEnd: 1585
    functionName: test::string_merge_invalid_utf8
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - String::new
    - Result::expect_err
    - DecodeContext::default
    - string::merge
    linkageType: ''
    returnType: void
    signature: fn string_merge_invalid_utf8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/prost/src/encoding.rs:1594,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:1595,1
    - Dst: Vec::with_capacity
      Src: /src/prost/src/encoding.rs:1599,1
    - Dst: encode_varint
      Src: /src/prost/src/encoding.rs:1600,1
    - Dst: decode_varint
      Src: /src/prost/src/encoding.rs:1605,1
    - Dst: '&[u8]::clone'
      Src: /src/prost/src/encoding.rs:1605,1
    - Dst: Result::expect
      Src: /src/prost/src/encoding.rs:1605,1
    - Dst: decode_varint_slow
      Src: /src/prost/src/encoding.rs:1608,1
    - Dst: Result::expect
      Src: /src/prost/src/encoding.rs:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - value
    - encoded
    argTypes:
    - u64
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1610
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1610
    functionName: t::e::s::t::::::::v::a::r::i::n::t::check
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - encode_varint
    - decode_varint
    - Result::expect
    - Vec::with_capacity
    - '&[u8]::clone'
    - decode_varint_slow
    linkageType: ''
    returnType: void
    signature: 'fn check(value: u64, mut encoded: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/prost/src/encoding.rs:1612,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1612,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1613,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1613,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1615,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1615,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1616,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1616,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1617,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1619,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1619,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1620,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1620,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1622,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1622,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1623,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1623,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1625,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1625,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1626,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1626,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1628,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1628,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1629,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1629,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1631,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1631,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1632,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1632,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1634,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1635,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1638,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1639,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1643,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1644,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1647,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1648,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1652,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1653,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1656,1
    - Dst: pow
      Src: /src/prost/src/encoding.rs:1657,1
    - Dst: check
      Src: /src/prost/src/encoding.rs:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 161
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1588
    functionDepth: 4
    functionLinenumber: 1588
    functionLinenumberEnd: 1665
    functionName: test::varint
    functionSourceFile: /src/prost/src/encoding.rs
    functionUses: 0
    functionsReached:
    - pow
    - check
    linkageType: ''
    returnType: void
    signature: fn varint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/prost/src/error.rs:37,1
    - Dst: impl Into<Cow<'static, str>>::into
      Src: /src/prost/src/error.rs:38,1
    - Dst: Vec::new
      Src: /src/prost/src/error.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - description
    argTypes:
    - impl Into<Cow<'static, str>>
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: DecodeError::new
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 13
    functionsReached:
    - Vec::new
    - Box::new
    - impl Into<Cow<'static, str>>::into
    linkageType: ''
    returnType: DecodeError
    signature: 'pub fn new(description: impl Into<Cow<''static, str>>) -> DecodeError'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/prost/src/error.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - message
    - field
    argTypes:
    - '&''static str'
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: DecodeError::push
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 2
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn push(&mut self, message: &''static str, field: &''static str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/prost/src/error.rs:64,1
    - Dst: write_str
      Src: /src/prost/src/error.rs:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: DecodeError::fmt
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 0
    functionsReached:
    - write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::Error::new
      Src: /src/prost/src/error.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - EncodeError
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: std::io::Error::from
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 0
    functionsReached:
    - std::io::Error::new
    linkageType: ''
    returnType: std::io::Error
    signature: 'fn from(error: EncodeError) -> std::io::Error'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - required
    - remaining
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: EncodeError::new
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EncodeError
    signature: 'pub(crate) fn new(required: usize, remaining: usize) -> EncodeError'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: EncodeError::required_capacity
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn required_capacity(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: EncodeError::remaining
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn remaining(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: EncodeError::fmt
    functionSourceFile: /src/prost/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::encoded_len
      Src: /src/prost/src/message.rs:52,1
    - Dst: Result::remaining_mut
      Src: /src/prost/src/message.rs:53,1
    - Dst: Result::remaining_mut
      Src: /src/prost/src/message.rs:54,1
    - Dst: Err
      Src: /src/prost/src/message.rs:55,1
    - Dst: EncodeError::new
      Src: /src/prost/src/message.rs:55,1
    - Dst: Message::encode_raw
      Src: /src/prost/src/message.rs:58,1
    - Dst: Ok
      Src: /src/prost/src/message.rs:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: Message::encode
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - Err
    - EncodeError::new
    - Message::encoded_len
    - Message::encode_raw
    - Result::remaining_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>whereB:
      BufMut,Self: Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::encoded_len
      Src: /src/prost/src/message.rs:70,1
    - Dst: encoding::encoded_len_varint
      Src: /src/prost/src/message.rs:71,1
    - Dst: Result::remaining_mut
      Src: /src/prost/src/message.rs:72,1
    - Dst: Err
      Src: /src/prost/src/message.rs:74,1
    - Dst: EncodeError::new
      Src: /src/prost/src/message.rs:74,1
    - Dst: encoding::encode_varint
      Src: /src/prost/src/message.rs:76,1
    - Dst: Message::encode_raw
      Src: /src/prost/src/message.rs:77,1
    - Dst: Ok
      Src: /src/prost/src/message.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: Message::encode_length_delimited
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - encoding::encode_varint
    - Err
    - EncodeError::new
    - Message::encoded_len
    - encoding::encoded_len_varint
    - Message::encode_raw
    - Result::remaining_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>whereB:
      BufMut,Self: Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/prost/src/message.rs:89,1
    - Dst: Self::merge
      Src: /src/prost/src/message.rs:90,1
    - Dst: Result::map
      Src: /src/prost/src/message.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Message::decode
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - Self::default
    - Result::map
    - Self::merge
    linkageType: ''
    returnType: Result
    signature: 'fn decode<B>(mut buf: B) -> Result<Self, DecodeError>whereB: Buf,Self:
      Default,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/prost/src/message.rs:99,1
    - Dst: TokenStream::merge_length_delimited
      Src: /src/prost/src/message.rs:100,1
    - Dst: Ok
      Src: /src/prost/src/message.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 7
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Message::decode_length_delimited
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - TokenStream::merge_length_delimited
    - Self::default
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>whereB:
      Buf,Self: Default,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecodeContext::default
      Src: /src/prost/src/message.rs:112,1
    - Dst: Result::has_remaining
      Src: /src/prost/src/message.rs:113,1
    - Dst: decode_key
      Src: /src/prost/src/message.rs:114,1
    - Dst: Message::merge_field
      Src: /src/prost/src/message.rs:115,1
    - Dst: DecodeContext::clone
      Src: /src/prost/src/message.rs:115,1
    - Dst: Ok
      Src: /src/prost/src/message.rs:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: Message::merge
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - decode_key
    - DecodeContext::clone
    - Message::merge_field
    - Result::has_remaining
    - Ok
    - DecodeContext::default
    linkageType: ''
    returnType: Result
    signature: 'fn merge<B>(&mut self, mut buf: B) -> Result<(), DecodeError>whereB:
      Buf,Self: Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message::merge
      Src: /src/prost/src/message.rs:127,1
    - Dst: DecodeContext::default
      Src: /src/prost/src/message.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: Message::merge_length_delimited
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - DecodeContext::default
    - message::merge
    linkageType: ''
    returnType: Result
    signature: 'fn merge_length_delimited<B>(&mut self, mut buf: B) -> Result<(),
      DecodeError>whereB: Buf,Self: Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_raw
      Src: /src/prost/src/message.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: Box::encode_raw
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - encode_raw
    linkageType: ''
    returnType: void
    signature: 'fn encode_raw<B>(&self, buf: &mut B)whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: merge_field
      Src: /src/prost/src/message.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tag
    - wire_type
    - buf
    - ctx
    argTypes:
    - u32
    - WireType
    - '&mut B'
    - DecodeContext
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: Box::merge_field
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - merge_field
    linkageType: ''
    returnType: Result
    signature: 'fn merge_field<B>(&mut self,tag: u32,wire_type: WireType,buf: &mut
      B,ctx: DecodeContext,) -> Result<(), DecodeError>whereB: Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/prost/src/message.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Box::encoded_len
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    linkageType: ''
    returnType: usize
    signature: fn encoded_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/prost/src/message.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Box::clear
    functionSourceFile: /src/prost/src/message.rs
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::encoded_len_varint
      Src: /src/prost/src/lib.rs:42,1
    - Dst: Result::remaining_mut
      Src: /src/prost/src/lib.rs:43,1
    - Dst: Err
      Src: /src/prost/src/lib.rs:45,1
    - Dst: EncodeError::new
      Src: /src/prost/src/lib.rs:45,1
    - Dst: encoding::encode_varint
      Src: /src/prost/src/lib.rs:47,1
    - Dst: Ok
      Src: /src/prost/src/lib.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - length
    - buf
    argTypes:
    - usize
    - '&mut B'
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: encode_length_delimiter
    functionSourceFile: /src/prost/src/lib.rs
    functionUses: 0
    functionsReached:
    - encoding::encode_varint
    - Err
    - EncodeError::new
    - encoding::encoded_len_varint
    - Result::remaining_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn encode_length_delimiter<B>(length: usize, buf: &mut B) -> Result<(),
      EncodeError>whereB: BufMut,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::encoded_len_varint
      Src: /src/prost/src/lib.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: length_delimiter_len
    functionSourceFile: /src/prost/src/lib.rs
    functionUses: 0
    functionsReached:
    - encoding::encoded_len_varint
    linkageType: ''
    returnType: usize
    signature: 'pub fn length_delimiter_len(length: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::decode_varint
      Src: /src/prost/src/lib.rs:74,1
    - Dst: usize::max_value
      Src: /src/prost/src/lib.rs:75,1
    - Dst: Err
      Src: /src/prost/src/lib.rs:76,1
    - Dst: DecodeError::new
      Src: /src/prost/src/lib.rs:76,1
    - Dst: Ok
      Src: /src/prost/src/lib.rs:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - buf
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: decode_length_delimiter
    functionSourceFile: /src/prost/src/lib.rs
    functionUses: 0
    functionsReached:
    - DecodeError::new
    - Err
    - encoding::decode_varint
    - usize::max_value
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decode_length_delimiter<B>(mut buf: B) -> Result<usize, DecodeError>whereB:
      Buf,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::current_exe
      Src: /src/prost/conformance/tests/conformance.rs:14,1
    - Dst: map
      Src: /src/prost/conformance/tests/conformance.rs:14,1
    - Dst: pop
      Src: /src/prost/conformance/tests/conformance.rs:16,1
    - Dst: ends_with
      Src: /src/prost/conformance/tests/conformance.rs:17,1
    - Dst: pop
      Src: /src/prost/conformance/tests/conformance.rs:18,1
    - Dst: join
      Src: /src/prost/conformance/tests/conformance.rs:20,1
    - Dst: unwrap
      Src: /src/prost/conformance/tests/conformance.rs:14,1
    - Dst: Command::new
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: conformance::test_runner
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: DecodeError::arg
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: arg
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: arg
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: arg
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: status
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    - Dst: expect
      Src: /src/prost/conformance/tests/conformance.rs:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 11
    functionDepth: 6
    functionLinenumber: 11
    functionLinenumberEnd: 33
    functionName: test_conformance
    functionSourceFile: /src/prost/conformance/tests/conformance.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - join
    - status
    - expect
    - map
    - ends_with
    - pop
    - conformance::test_runner
    - arg
    - DecodeError::arg
    - Command::new
    - env::current_exe
    linkageType: ''
    returnType: void
    signature: fn test_conformance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conformance_response::Result::requested_output_format
      Src: /src/prost/conformance/src/main.rs:52,1
    - Dst: conformance_response::Result::ParseError
      Src: /src/prost/conformance/src/main.rs:54,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:55,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:59,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:60,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:64,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:65,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:69,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:70,1
    - Dst: conformance_response::Result::ParseError
      Src: /src/prost/conformance/src/main.rs:77,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:77,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:79,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:80,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:84,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:85,1
    - Dst: conformance_response::Result::Skipped
      Src: /src/prost/conformance/src/main.rs:89,1
    - Dst: '&str::to_string'
      Src: /src/prost/conformance/src/main.rs:90,1
    - Dst: roundtrip::<TestAllTypesProto2>
      Src: /src/prost/conformance/src/main.rs:97,1
    - Dst: roundtrip::<TestAllTypesProto3>
      Src: /src/prost/conformance/src/main.rs:98,1
    - Dst: conformance_response::Result::ParseError
      Src: /src/prost/conformance/src/main.rs:100,1
    - Dst: conformance_response::Result::ProtobufPayload
      Src: /src/prost/conformance/src/main.rs:108,1
    - Dst: conformance_response::Result::ParseError
      Src: /src/prost/conformance/src/main.rs:110,1
    - Dst: Result::to_string
      Src: /src/prost/conformance/src/main.rs:110,1
    - Dst: conformance_response::Result::RuntimeError
      Src: /src/prost/conformance/src/main.rs:113,1
    - Dst: Result::to_string
      Src: /src/prost/conformance/src/main.rs:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 1
    argNames:
    - request
    argTypes:
    - ConformanceRequest
    constantsTouched: []
    func_position:
      end: 116
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 116
    functionName: handle_request
    functionSourceFile: /src/prost/conformance/src/main.rs
    functionUses: 0
    functionsReached:
    - conformance_response::Result::requested_output_format
    - conformance_response::Result::ProtobufPayload
    - conformance_response::Result::RuntimeError
    - roundtrip::<TestAllTypesProto3>
    - '&str::to_string'
    - roundtrip::<TestAllTypesProto2>
    - conformance_response::Result::ParseError
    - Result::to_string
    - conformance_response::Result::Skipped
    linkageType: ''
    returnType: conformance_response::Result
    signature: 'fn handle_request(request: ConformanceRequest) -> conformance_response::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip::<TestAllTypesProto3>
      Src: /src/prost/fuzz/fuzzers/proto3.rs:2,1
    - Dst: unwrap_error
      Src: /src/prost/fuzz/fuzzers/proto3.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: fuzz_target
    functionSourceFile: /src/prost/fuzz/fuzzers/proto3.rs
    functionUses: 0
    functionsReached:
    - unwrap_error
    - roundtrip::<TestAllTypesProto3>
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/prost/protobuf/build.rs:105,1
    - Dst: Easy::new
      Src: /src/prost/protobuf/build.rs:106,1
    - Dst: DecodeError::url
      Src: /src/prost/protobuf/build.rs:109,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:109,1
    - Dst: DecodeError::follow_location
      Src: /src/prost/protobuf/build.rs:110,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:110,1
    - Dst: DecodeError::transfer
      Src: /src/prost/protobuf/build.rs:114,1
    - Dst: write_function
      Src: /src/prost/protobuf/build.rs:115,1
    - Dst: DecodeError::extend_from_slice
      Src: /src/prost/protobuf/build.rs:117,1
    - Dst: Ok
      Src: /src/prost/protobuf/build.rs:118,1
    - Dst: len
      Src: /src/prost/protobuf/build.rs:118,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:115,1
    - Dst: perform
      Src: /src/prost/protobuf/build.rs:121,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:121,1
    - Dst: Archive::new
      Src: /src/prost/protobuf/build.rs:125,1
    - Dst: GzDecoder::new
      Src: /src/prost/protobuf/build.rs:125,1
    - Dst: Cursor::new
      Src: /src/prost/protobuf/build.rs:125,1
    - Dst: DecodeError::unpack
      Src: /src/prost/protobuf/build.rs:125,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 2
    argNames:
    - url
    - out_dir
    argTypes:
    - '&str'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: download_tarball
    functionSourceFile: /src/prost/protobuf/build.rs
    functionUses: 1
    functionsReached:
    - context
    - DecodeError::follow_location
    - perform
    - DecodeError::url
    - Easy::new
    - DecodeError::unpack
    - len
    - Archive::new
    - write_function
    - DecodeError::extend_from_slice
    - DecodeError::transfer
    - Cursor::new
    - Vec::new
    - Ok
    - GzDecoder::new
    linkageType: ''
    returnType: Result
    signature: 'fn download_tarball(url: &str, out_dir: &Path) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: download_tarball
      Src: /src/prost/protobuf/build.rs:132,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:139,1
    - Dst: env::current_dir
      Src: /src/prost/protobuf/build.rs:142,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:142,1
    - Dst: push
      Src: /src/prost/protobuf/build.rs:143,1
    - Dst: push
      Src: /src/prost/protobuf/build.rs:144,1
    - Dst: Command::new
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: DecodeError::arg
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: current_dir
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: status
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:146,1
    - Dst: Ok
      Src: /src/prost/protobuf/build.rs:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - out_dir
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: download_protobuf
    functionSourceFile: /src/prost/protobuf/build.rs
    functionUses: 0
    functionsReached:
    - context
    - current_dir
    - status
    - download_tarball
    - env::current_dir
    - arg
    - DecodeError::arg
    - Command::new
    - '&Path::join'
    - Ok
    - push
    linkageType: ''
    returnType: Result
    signature: 'fn download_protobuf(out_dir: &Path) -> Result<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: DecodeError::arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: current_dir
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: status
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:168,1
    - Dst: env::var
      Src: /src/prost/protobuf/build.rs:180,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:180,1
    - Dst: Command::new
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: DecodeError::arg
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: arg
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: current_dir
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: status
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:182,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:192,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:193,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:194,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:194,1
    - Dst: context
      Src: /src/prost/protobuf/build.rs:192,1
    - Dst: Ok
      Src: /src/prost/protobuf/build.rs:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 2
    argNames:
    - src_dir
    - prefix_dir
    argTypes:
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 199
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 199
    functionName: install_conformance_test_runner
    functionSourceFile: /src/prost/protobuf/build.rs
    functionUses: 0
    functionsReached:
    - context
    - join
    - current_dir
    - status
    - env::var
    - arg
    - fs::rename
    - DecodeError::arg
    - Command::new
    - '&Path::join'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn install_conformance_test_runner(src_dir: &Path, prefix_dir: &Path)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:202,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:205,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:205,1
    - Dst: fs::create_dir_all
      Src: /src/prost/protobuf/build.rs:206,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:206,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:208,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:209,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:209,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:209,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:209,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:214,1
    - Dst: with_context
      Src: /src/prost/protobuf/build.rs:208,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:220,1
    - Dst: fs::create_dir
      Src: /src/prost/protobuf/build.rs:221,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:221,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:223,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:224,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:224,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:225,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:223,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:230,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:231,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:232,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:233,1
    - Dst: fs::create_dir
      Src: /src/prost/protobuf/build.rs:234,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:234,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:235,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:236,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:237,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:235,1
    - Dst: iter
      Src: /src/prost/protobuf/build.rs:240,1
    - Dst: map
      Src: /src/prost/protobuf/build.rs:240,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:241,1
    - Dst: parent
      Src: /src/prost/protobuf/build.rs:241,1
    - Dst: unwrap
      Src: /src/prost/protobuf/build.rs:241,1
    - Dst: fs::create_dir_all
      Src: /src/prost/protobuf/build.rs:242,1
    - Dst: with_context
      Src: /src/prost/protobuf/build.rs:242,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:244,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:245,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:246,1
    - Dst: with_context
      Src: /src/prost/protobuf/build.rs:244,1
    - Dst: Ok
      Src: /src/prost/protobuf/build.rs:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 101
    argCount: 2
    argNames:
    - src_dir
    - prefix_dir
    argTypes:
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 252
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 252
    functionName: install_protos
    functionSourceFile: /src/prost/protobuf/build.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - join
    - fs::create_dir
    - expect
    - with_context
    - iter
    - map
    - fs::create_dir_all
    - parent
    - fs::rename
    - '&Path::join'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn install_protos(src_dir: &Path, prefix_dir: &Path) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:255,1
    - Dst: fs::create_dir
      Src: /src/prost/protobuf/build.rs:256,1
    - Dst: expect
      Src: /src/prost/protobuf/build.rs:256,1
    - Dst: Path::new
      Src: /src/prost/protobuf/build.rs:258,1
    - Dst: DecodeError::join
      Src: /src/prost/protobuf/build.rs:258,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:258,1
    - Dst: Path::new
      Src: /src/prost/protobuf/build.rs:261,1
    - Dst: DecodeError::join
      Src: /src/prost/protobuf/build.rs:261,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:261,1
    - Dst: Path::new
      Src: /src/prost/protobuf/build.rs:264,1
    - Dst: DecodeError::join
      Src: /src/prost/protobuf/build.rs:264,1
    - Dst: fs::rename
      Src: /src/prost/protobuf/build.rs:266,1
    - Dst: '&Path::join'
      Src: /src/prost/protobuf/build.rs:267,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:267,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:267,1
    - Dst: join
      Src: /src/prost/protobuf/build.rs:268,1
    - Dst: file_name
      Src: /src/prost/protobuf/build.rs:268,1
    - Dst: unwrap
      Src: /src/prost/protobuf/build.rs:268,1
    - Dst: with_context
      Src: /src/prost/protobuf/build.rs:266,1
    - Dst: Ok
      Src: /src/prost/protobuf/build.rs:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 2
    argNames:
    - src_dir
    - prefix_dir
    argTypes:
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: install_datasets
    functionSourceFile: /src/prost/protobuf/build.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - DecodeError::join
    - join
    - fs::create_dir
    - Path::new
    - expect
    - with_context
    - file_name
    - fs::rename
    - '&Path::join'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn install_datasets(src_dir: &Path, prefix_dir: &Path) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: benchmarks::google_message1_proto2
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message1_proto2() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: benchmarks::google_message1_proto3
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message1_proto3() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: benchmarks::google_message2
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message2() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: benchmarks::google_message3_1
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message3_1() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: benchmarks::google_message3_5
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message3_5() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: benchmarks::google_message4
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 0
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn google_message4() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/prost/protobuf/src/lib.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: conformance::test_runner
    functionSourceFile: /src/prost/protobuf/src/lib.rs
    functionUses: 1
    functionsReached:
    - Path::new
    linkageType: ''
    returnType: '&''static Path'
    signature: pub fn test_runner() -> &'static Path
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/prost/protobuf/benches/dataset.rs:16,1
    - Dst: Vec::new
      Src: /src/prost/protobuf/benches/dataset.rs:17,1
    - Dst: read_to_end
      Src: /src/prost/protobuf/benches/dataset.rs:18,1
    - Dst: Ok
      Src: /src/prost/protobuf/benches/dataset.rs:19,1
    - Dst: BenchmarkDataset::decode
      Src: /src/prost/protobuf/benches/dataset.rs:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dataset
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 6
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: load_dataset
    functionSourceFile: /src/prost/protobuf/benches/dataset.rs
    functionUses: 1
    functionsReached:
    - BenchmarkDataset::decode
    - File::open
    - read_to_end
    - Vec::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn load_dataset(dataset: &Path) -> Result<BenchmarkDataset, Box<dyn
      Error>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Criterion::benchmark_group'
      Src: /src/prost/protobuf/benches/dataset.rs:26,1
    - Dst: bench_function
      Src: /src/prost/protobuf/benches/dataset.rs:28,1
    - Dst: load_dataset
      Src: /src/prost/protobuf/benches/dataset.rs:29,1
    - Dst: Result::unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:29,1
    - Dst: M::default
      Src: /src/prost/protobuf/benches/dataset.rs:30,1
    - Dst: TokenStream::iter
      Src: /src/prost/protobuf/benches/dataset.rs:31,1
    - Dst: TokenStream::clear
      Src: /src/prost/protobuf/benches/dataset.rs:33,1
    - Dst: TokenStream::merge
      Src: /src/prost/protobuf/benches/dataset.rs:34,1
    - Dst: Result::as_slice
      Src: /src/prost/protobuf/benches/dataset.rs:34,1
    - Dst: Result::unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:34,1
    - Dst: criterion::black_box
      Src: /src/prost/protobuf/benches/dataset.rs:35,1
    - Dst: bench_function
      Src: /src/prost/protobuf/benches/dataset.rs:40,1
    - Dst: load_dataset
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: Result::unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: iter
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: "unwrap()\n            .payload\n            .iter()\n            .map(Vec::as_slice)\n\
        \            .map(M::decode)\n            .collect::<Result<Vec<_>, _>>"
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:41,1
    - Dst: Vec::with_capacity
      Src: /src/prost/protobuf/benches/dataset.rs:49,1
    - Dst: iter
      Src: /src/prost/protobuf/benches/dataset.rs:49,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:49,1
    - Dst: iter().map(M::encoded_len).sum::<usize>
      Src: /src/prost/protobuf/benches/dataset.rs:49,1
    - Dst: TokenStream::iter
      Src: /src/prost/protobuf/benches/dataset.rs:50,1
    - Dst: Result::clear
      Src: /src/prost/protobuf/benches/dataset.rs:51,1
    - Dst: TokenStream::encode
      Src: /src/prost/protobuf/benches/dataset.rs:53,1
    - Dst: unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:53,1
    - Dst: criterion::black_box
      Src: /src/prost/protobuf/benches/dataset.rs:55,1
    - Dst: bench_function
      Src: /src/prost/protobuf/benches/dataset.rs:59,1
    - Dst: load_dataset
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: Result::unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: iter
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: "unwrap()\n            .payload\n            .iter()\n            .map(Vec::as_slice)\n\
        \            .map(M::decode)\n            .collect::<Result<Vec<_>, _>>"
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: unwrap
      Src: /src/prost/protobuf/benches/dataset.rs:60,1
    - Dst: TokenStream::iter
      Src: /src/prost/protobuf/benches/dataset.rs:68,1
    - Dst: iter
      Src: /src/prost/protobuf/benches/dataset.rs:69,1
    - Dst: map
      Src: /src/prost/protobuf/benches/dataset.rs:69,1
    - Dst: iter().map(M::encoded_len).sum::<usize>
      Src: /src/prost/protobuf/benches/dataset.rs:69,1
    - Dst: criterion::black_box
      Src: /src/prost/protobuf/benches/dataset.rs:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 105
    argCount: 3
    argNames:
    - criterion
    - name
    - dataset
    argTypes:
    - '&mut Criterion'
    - '&str'
    - '&''static Path'
    constantsTouched: []
    func_position:
      end: 73
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 73
    functionName: benchmark_dataset
    functionSourceFile: /src/prost/protobuf/benches/dataset.rs
    functionUses: 0
    functionsReached:
    - '&mut Criterion::benchmark_group'
    - unwrap
    - TokenStream::merge
    - load_dataset
    - "unwrap()\n            .payload\n            .iter()\n            .map(Vec::as_slice)\n\
      \            .map(M::decode)\n            .collect::<Result<Vec<_>, _>>"
    - iter
    - TokenStream::encode
    - map
    - Result::as_slice
    - M::default
    - Vec::with_capacity
    - criterion::black_box
    - iter().map(M::encoded_len).sum::<usize>
    - TokenStream::iter
    - Result::clear
    - bench_function
    - TokenStream::clear
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn benchmark_dataset<M>(criterion: &mut Criterion, name: &str, dataset:
      &''static Path)whereM: prost::Message + Default + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_dataset::<$ty>
      Src: /src/prost/protobuf/benches/dataset.rs:3,1
    - Dst: dataset
      Src: /src/prost/protobuf/benches/dataset.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: dataset
    functionSourceFile: /src/prost/protobuf/benches/dataset.rs
    functionUses: 2
    functionsReached:
    - dataset
    - benchmark_dataset::<$ty>
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shuffle
      Src: /src/prost/benches/varint.rs:10,1
    - Dst: StdRng::seed_from_u64
      Src: /src/prost/benches/varint.rs:10,1
    - Dst: iter
      Src: /src/prost/benches/varint.rs:13,1
    - Dst: Result::cloned
      Src: /src/prost/benches/varint.rs:13,1
    - Dst: map
      Src: /src/prost/benches/varint.rs:13,1
    - Dst: "iter()\n        .cloned()\n        .map(encoded_len_varint)\n        .sum::<usize>"
      Src: /src/prost/benches/varint.rs:13,1
    - Dst: len
      Src: /src/prost/benches/varint.rs:18,1
    - Dst: mem::size_of::<u64>
      Src: /src/prost/benches/varint.rs:18,1
    - Dst: '&mut Criterion::benchmark_group'
      Src: /src/prost/benches/varint.rs:20,1
    - Dst: bench_function
      Src: /src/prost/benches/varint.rs:20,1
    - Dst: clone
      Src: /src/prost/benches/varint.rs:23,1
    - Dst: Vec::<u8>::with_capacity
      Src: /src/prost/benches/varint.rs:25,1
    - Dst: len
      Src: /src/prost/benches/varint.rs:25,1
    - Dst: TokenStream::iter
      Src: /src/prost/benches/varint.rs:26,1
    - Dst: Result::clear
      Src: /src/prost/benches/varint.rs:27,1
    - Dst: prost::encoding::encode_varint
      Src: /src/prost/benches/varint.rs:29,1
    - Dst: criterion::black_box
      Src: /src/prost/benches/varint.rs:31,1
    - Dst: throughput
      Src: /src/prost/benches/varint.rs:20,1
    - Dst: Throughput::Bytes
      Src: /src/prost/benches/varint.rs:35,1
    - Dst: '&mut Criterion::benchmark_group'
      Src: /src/prost/benches/varint.rs:37,1
    - Dst: bench_function
      Src: /src/prost/benches/varint.rs:37,1
    - Dst: clone
      Src: /src/prost/benches/varint.rs:40,1
    - Dst: Vec::with_capacity
      Src: /src/prost/benches/varint.rs:43,1
    - Dst: len
      Src: /src/prost/benches/varint.rs:43,1
    - Dst: prost::encoding::encode_varint
      Src: /src/prost/benches/varint.rs:45,1
    - Dst: TokenStream::iter
      Src: /src/prost/benches/varint.rs:48,1
    - Dst: Result::as_slice
      Src: /src/prost/benches/varint.rs:49,1
    - Dst: Result::has_remaining
      Src: /src/prost/benches/varint.rs:50,1
    - Dst: prost::encoding::decode_varint
      Src: /src/prost/benches/varint.rs:51,1
    - Dst: criterion::black_box
      Src: /src/prost/benches/varint.rs:53,1
    - Dst: throughput
      Src: /src/prost/benches/varint.rs:37,1
    - Dst: Throughput::Bytes
      Src: /src/prost/benches/varint.rs:58,1
    - Dst: '&mut Criterion::benchmark_group'
      Src: /src/prost/benches/varint.rs:60,1
    - Dst: bench_function
      Src: /src/prost/benches/varint.rs:60,1
    - Dst: TokenStream::iter
      Src: /src/prost/benches/varint.rs:63,1
    - Dst: prost::encoding::encoded_len_varint
      Src: /src/prost/benches/varint.rs:66,1
    - Dst: criterion::black_box
      Src: /src/prost/benches/varint.rs:68,1
    - Dst: throughput
      Src: /src/prost/benches/varint.rs:60,1
    - Dst: Throughput::Bytes
      Src: /src/prost/benches/varint.rs:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 109
    argCount: 3
    argNames:
    - criterion
    - name
    - values
    argTypes:
    - '&mut Criterion'
    - '&str'
    - Vec<u64>
    constantsTouched: []
    func_position:
      end: 72
      start: 8
    functionDepth: 6
    functionLinenumber: 8
    functionLinenumberEnd: 72
    functionName: benchmark_varint
    functionSourceFile: /src/prost/benches/varint.rs
    functionUses: 1
    functionsReached:
    - prost::encoding::encoded_len_varint
    - iter
    - map
    - Result::has_remaining
    - bench_function
    - '&mut Criterion::benchmark_group'
    - Result::as_slice
    - TokenStream::iter
    - "iter()\n        .cloned()\n        .map(encoded_len_varint)\n        .sum::<usize>"
    - Result::cloned
    - StdRng::seed_from_u64
    - Vec::with_capacity
    - criterion::black_box
    - Result::clear
    - shuffle
    - prost::encoding::decode_varint
    - clone
    - throughput
    - len
    - Throughput::Bytes
    - Vec::<u8>::with_capacity
    - mem::size_of::<u64>
    - prost::encoding::encode_varint
    linkageType: ''
    returnType: void
    signature: 'fn benchmark_varint(criterion: &mut Criterion, name: &str, mut values:
      Vec<u64>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse
      Src: /src/prost/prost-derive/src/lib.rs:22,1
    - Dst: split_for_impl
      Src: /src/prost/prost-derive/src/lib.rs:33,1
    - Dst: into_iter
      Src: /src/prost/prost-derive/src/lib.rs:46,1
    - Dst: collect
      Src: /src/prost/prost-derive/src/lib.rs:46,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/lib.rs:50,1
    - Dst: into_iter
      Src: /src/prost/prost-derive/src/lib.rs:54,1
    - Dst: enumerate
      Src: /src/prost/prost-derive/src/lib.rs:54,1
    - Dst: flat_map
      Src: /src/prost/prost-derive/src/lib.rs:54,1
    - Dst: unwrap_or_else
      Src: /src/prost/prost-derive/src/lib.rs:58,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/lib.rs:60,1
    - Dst: to_string
      Src: /src/prost/prost-derive/src/lib.rs:60,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/lib.rs:60,1
    - Dst: Field::new
      Src: /src/prost/prost-derive/src/lib.rs:61,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/lib.rs:61,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:63,1
    - Dst: Vec::iter
      Src: /src/prost/prost-derive/src/lib.rs:63,1
    - Dst: Result::max
      Src: /src/prost/prost-derive/src/lib.rs:63,1
    - Dst: map
      Src: /src/prost/prost-derive/src/lib.rs:63,1
    - Dst: unwrap_or
      Src: /src/prost/prost-derive/src/lib.rs:63,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/lib.rs:64,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/lib.rs:64,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/lib.rs:67,1
    - Dst: Err
      Src: /src/prost/prost-derive/src/lib.rs:67,1
    - Dst: context
      Src: /src/prost/prost-derive/src/lib.rs:68,1
    - Dst: "into_iter()\n        .enumerate()\n        .flat_map(|(idx, field)| {\n\
        \            let field_ident = field\n                .ident\n           \
        \     .unwrap_or_else(|| Ident::new(&idx.to_string(), Span::call_site()));\n\
        \            match Field::new(field.attrs, Some(next_tag)) {\n           \
        \     Ok(Some(field)) => {\n                    next_tag = field.tags().iter().max().map(|t|\
        \ t + 1).unwrap_or(next_tag);\n                    Some(Ok((field_ident, field)))\n\
        \                }\n                Ok(None) => None,\n                Err(err)\
        \ => Some(Err(\n                    err.context(format!(\"invalid message\
        \ field {}.{}\", ident, field_ident))\n                )),\n            }\n\
        \        })\n        .collect::<Result<Vec<_>, _>>"
      Src: /src/prost/prost-derive/src/lib.rs:54,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/lib.rs:75,1
    - Dst: sort_by_key
      Src: /src/prost/prost-derive/src/lib.rs:81,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:81,1
    - Dst: Vec::into_iter
      Src: /src/prost/prost-derive/src/lib.rs:81,1
    - Dst: min
      Src: /src/prost/prost-derive/src/lib.rs:81,1
    - Dst: unwrap
      Src: /src/prost/prost-derive/src/lib.rs:81,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:84,1
    - Dst: Result::flat_map
      Src: /src/prost/prost-derive/src/lib.rs:84,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:86,1
    - Dst: "iter()\n        .flat_map(|&(_, ref field)| field.tags())\n        .collect::<Vec<_>>"
      Src: /src/prost/prost-derive/src/lib.rs:84,1
    - Dst: Vec::len
      Src: /src/prost/prost-derive/src/lib.rs:88,1
    - Dst: Vec::sort_unstable
      Src: /src/prost/prost-derive/src/lib.rs:89,1
    - Dst: Vec::dedup
      Src: /src/prost/prost-derive/src/lib.rs:90,1
    - Dst: Vec::len
      Src: /src/prost/prost-derive/src/lib.rs:91,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:95,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:95,1
    - Dst: encoded_len
      Src: /src/prost/prost-derive/src/lib.rs:97,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:99,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:99,1
    - Dst: encode
      Src: /src/prost/prost-derive/src/lib.rs:101,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:103,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:103,1
    - Dst: merge
      Src: /src/prost/prost-derive/src/lib.rs:104,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:105,1
    - Dst: Vec::into_iter
      Src: /src/prost/prost-derive/src/lib.rs:105,1
    - Dst: map
      Src: /src/prost/prost-derive/src/lib.rs:105,1
    - Dst: intersperse
      Src: /src/prost/prost-derive/src/lib.rs:105,1
    - Dst: fields::is_empty
      Src: /src/prost/prost-derive/src/lib.rs:121,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:132,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:132,1
    - Dst: clear
      Src: /src/prost/prost-derive/src/lib.rs:134,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:136,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:136,1
    - Dst: default
      Src: /src/prost/prost-derive/src/lib.rs:137,1
    - Dst: fields::iter
      Src: /src/prost/prost-derive/src/lib.rs:141,1
    - Dst: Result::flat_map
      Src: /src/prost/prost-derive/src/lib.rs:141,1
    - Dst: methods
      Src: /src/prost/prost-derive/src/lib.rs:143,1
    - Dst: "iter()\n        .flat_map(|&(ref field_ident, ref field)| field.methods(field_ident))\n\
        \        .collect::<Vec<_>>"
      Src: /src/prost/prost-derive/src/lib.rs:141,1
    - Dst: Option::is_empty
      Src: /src/prost/prost-derive/src/lib.rs:145,1
    - Dst: iter
      Src: /src/prost/prost-derive/src/lib.rs:156,1
    - Dst: map
      Src: /src/prost/prost-derive/src/lib.rs:156,1
    - Dst: debug
      Src: /src/prost/prost-derive/src/lib.rs:157,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/lib.rs:228,1
    - Dst: into
      Src: /src/prost/prost-derive/src/lib.rs:228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 168
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 229
      start: 21
    functionDepth: 8
    functionLinenumber: 21
    functionLinenumberEnd: 229
    functionName: try_message
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - into
    - encode
    - fields::is_empty
    - unwrap_or_else
    - tags
    - iter
    - map
    - Vec::sort_unstable
    - default
    - fields::iter
    - "iter()\n        .flat_map(|&(_, ref field)| field.tags())\n        .collect::<Vec<_>>"
    - context
    - Span::call_site
    - to_string
    - enumerate
    - Err
    - Ident::new
    - clear
    - Field::new
    - Vec::dedup
    - Result::flat_map
    - encoded_len
    - Option::is_empty
    - into_iter
    - "iter()\n        .flat_map(|&(ref field_ident, ref field)| field.methods(field_ident))\n\
      \        .collect::<Vec<_>>"
    - Vec::new
    - sort_by_key
    - min
    - collect
    - Some
    - intersperse
    - "into_iter()\n        .enumerate()\n        .flat_map(|(idx, field)| {\n   \
      \         let field_ident = field\n                .ident\n                .unwrap_or_else(||\
      \ Ident::new(&idx.to_string(), Span::call_site()));\n            match Field::new(field.attrs,\
      \ Some(next_tag)) {\n                Ok(Some(field)) => {\n                \
      \    next_tag = field.tags().iter().max().map(|t| t + 1).unwrap_or(next_tag);\n\
      \                    Some(Ok((field_ident, field)))\n                }\n   \
      \             Ok(None) => None,\n                Err(err) => Some(Err(\n   \
      \                 err.context(format!(\"invalid message field {}.{}\", ident,\
      \ field_ident))\n                )),\n            }\n        })\n        .collect::<Result<Vec<_>,\
      \ _>>"
    - syn::parse
    - Vec::iter
    - Vec::len
    - Result::map
    - flat_map
    - unwrap_or
    - clone
    - debug
    - Vec::into_iter
    - methods
    - split_for_impl
    - Result::max
    - merge
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_message(input: TokenStream) -> Result<TokenStream, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_message
      Src: /src/prost/prost-derive/src/lib.rs:233,1
    - Dst: Result::unwrap
      Src: /src/prost/prost-derive/src/lib.rs:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 9
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: message
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 7
    functionsReached:
    - try_message
    - Result::unwrap
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn message(input: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse
      Src: /src/prost/prost-derive/src/lib.rs:237,1
    - Dst: split_for_impl
      Src: /src/prost/prost-derive/src/lib.rs:241,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/lib.rs:250,1
    - Dst: slice::Iter::push
      Src: /src/prost/prost-derive/src/lib.rs:266,1
    - Dst: slice::Iter::is_empty
      Src: /src/prost/prost-derive/src/lib.rs:271,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/lib.rs:275,1
    - Dst: slice::Iter::iter
      Src: /src/prost/prost-derive/src/lib.rs:277,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:277,1
    - Dst: slice::Iter::iter
      Src: /src/prost/prost-derive/src/lib.rs:280,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:280,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/lib.rs:322,1
    - Dst: into
      Src: /src/prost/prost-derive/src/lib.rs:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 323
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 323
    functionName: try_enumeration
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 1
    functionsReached:
    - into
    - clone
    - Ok
    - Result::map
    - slice::Iter::is_empty
    - slice::Iter::iter
    - split_for_impl
    - syn::parse
    - Vec::new
    - slice::Iter::push
    linkageType: ''
    returnType: Result
    signature: 'fn try_enumeration(input: TokenStream) -> Result<TokenStream, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_enumeration
      Src: /src/prost/prost-derive/src/lib.rs:327,1
    - Dst: Result::unwrap
      Src: /src/prost/prost-derive/src/lib.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: enumeration
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 1
    functionsReached:
    - try_enumeration
    - Result::unwrap
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn enumeration(input: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syn::parse
      Src: /src/prost/prost-derive/src/lib.rs:331,1
    - Dst: split_for_impl
      Src: /src/prost/prost-derive/src/lib.rs:342,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/lib.rs:345,1
    - Dst: Punctuated::new
      Src: /src/prost/prost-derive/src/lib.rs:354,1
    - Dst: len
      Src: /src/prost/prost-derive/src/lib.rs:360,1
    - Dst: Field::new_oneof
      Src: /src/prost/prost-derive/src/lib.rs:363,1
    - Dst: DecodeError::push
      Src: /src/prost/prost-derive/src/lib.rs:364,1
    - Dst: DecodeError::iter
      Src: /src/prost/prost-derive/src/lib.rs:369,1
    - Dst: Result::flat_map
      Src: /src/prost/prost-derive/src/lib.rs:369,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:372,1
    - Dst: Vec::len
      Src: /src/prost/prost-derive/src/lib.rs:372,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/lib.rs:379,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:379,1
    - Dst: "iter()\n        .flat_map(|&(ref variant_ident, ref field)| -> Result<u32,\
        \ Error> {\n            if field.tags().len() > 1 {\n                bail!(\n\
        \                    \"invalid oneof variant {}::{}: oneof variants may only\
        \ have a single tag\",\n                    ident,\n                    variant_ident\n\
        \                );\n            }\n            Ok(field.tags()[0])\n    \
        \    })\n        .collect::<Vec<_>>"
      Src: /src/prost/prost-derive/src/lib.rs:369,1
    - Dst: Vec::sort_unstable
      Src: /src/prost/prost-derive/src/lib.rs:382,1
    - Dst: Vec::dedup
      Src: /src/prost/prost-derive/src/lib.rs:383,1
    - Dst: Vec::len
      Src: /src/prost/prost-derive/src/lib.rs:384,1
    - Dst: DecodeError::len
      Src: /src/prost/prost-derive/src/lib.rs:384,1
    - Dst: DecodeError::iter
      Src: /src/prost/prost-derive/src/lib.rs:388,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:388,1
    - Dst: encode
      Src: /src/prost/prost-derive/src/lib.rs:389,1
    - Dst: DecodeError::iter
      Src: /src/prost/prost-derive/src/lib.rs:393,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:393,1
    - Dst: tags
      Src: /src/prost/prost-derive/src/lib.rs:394,1
    - Dst: merge
      Src: /src/prost/prost-derive/src/lib.rs:395,1
    - Dst: DecodeError::iter
      Src: /src/prost/prost-derive/src/lib.rs:412,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:412,1
    - Dst: encoded_len
      Src: /src/prost/prost-derive/src/lib.rs:413,1
    - Dst: DecodeError::iter
      Src: /src/prost/prost-derive/src/lib.rs:417,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/lib.rs:417,1
    - Dst: debug
      Src: /src/prost/prost-derive/src/lib.rs:418,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/lib.rs:466,1
    - Dst: into
      Src: /src/prost/prost-derive/src/lib.rs:466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 94
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 467
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 467
    functionName: try_oneof
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 1
    functionsReached:
    - into
    - encode
    - tags
    - Vec::sort_unstable
    - Field::new_oneof
    - DecodeError::len
    - Vec::dedup
    - Result::flat_map
    - encoded_len
    - "iter()\n        .flat_map(|&(ref variant_ident, ref field)| -> Result<u32,\
      \ Error> {\n            if field.tags().len() > 1 {\n                bail!(\n\
      \                    \"invalid oneof variant {}::{}: oneof variants may only\
      \ have a single tag\",\n                    ident,\n                    variant_ident\n\
      \                );\n            }\n            Ok(field.tags()[0])\n      \
      \  })\n        .collect::<Vec<_>>"
    - Vec::new
    - DecodeError::iter
    - syn::parse
    - Vec::len
    - DecodeError::push
    - Result::map
    - len
    - Punctuated::new
    - debug
    - split_for_impl
    - merge
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_oneof(input: TokenStream) -> Result<TokenStream, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_oneof
      Src: /src/prost/prost-derive/src/lib.rs:471,1
    - Dst: Result::unwrap
      Src: /src/prost/prost-derive/src/lib.rs:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 10
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: oneof
    functionSourceFile: /src/prost/prost-derive/src/lib.rs
    functionUses: 2
    functionsReached:
    - try_oneof
    - Result::unwrap
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn oneof(input: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/field/oneof.rs:18,1
    - Dst: Option::path
      Src: /src/prost/prost-derive/src/field/oneof.rs:21,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/oneof.rs:21,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/oneof.rs:26,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/oneof.rs:26,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/oneof.rs:27,1
    - Dst: get_ident
      Src: /src/prost/prost-derive/src/field/oneof.rs:30,1
    - Dst: Path::from
      Src: /src/prost/prost-derive/src/field/oneof.rs:31,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/field/oneof.rs:31,1
    - Dst: field::set_option
      Src: /src/prost/prost-derive/src/field/oneof.rs:41,1
    - Dst: field::tags_attr
      Src: /src/prost/prost-derive/src/field/oneof.rs:42,1
    - Dst: field::set_option
      Src: /src/prost/prost-derive/src/field/oneof.rs:43,1
    - Dst: DecodeError::push
      Src: /src/prost/prost-derive/src/field/oneof.rs:45,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/oneof.rs:51,1
    - Dst: DecodeError::len
      Src: /src/prost/prost-derive/src/field/oneof.rs:54,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/oneof.rs:68,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/oneof.rs:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 1
    argNames:
    - attrs
    argTypes:
    - '&[Meta]'
    constantsTouched: []
    func_position:
      end: 69
      start: 15
    functionDepth: 7
    functionLinenumber: 15
    functionLinenumberEnd: 69
    functionName: Field::new
    functionSourceFile: /src/prost/prost-derive/src/field/oneof.rs
    functionUses: 2
    functionsReached:
    - parse_str::<Path>
    - DecodeError::len
    - clone
    - Some
    - len
    - field::set_option
    - Result::value
    - Option::path
    - get_ident
    - Path::from
    - field::tags_attr
    - DecodeError::push
    - Vec::new
    - Ok
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(attrs: &[Meta]) -> Result<Option<Field>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Field::new
      Src: /src/prost/prost-derive/src/field/map.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - attrs
    argTypes:
    - '&[Meta]'
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 8
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: Field::new_oneof
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 1
    functionsReached:
    - Field::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn new_oneof(attrs: &[Meta]) -> Result<Option<Field>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ident
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: Field::encode
    functionSourceFile: /src/prost/prost-derive/src/field/oneof.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn encode(&self, ident: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ident
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: Field::merge
    functionSourceFile: /src/prost/prost-derive/src/field/oneof.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn merge(&self, ident: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ident
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Field::encoded_len
    functionSourceFile: /src/prost/prost-derive/src/field/oneof.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn encoded_len(&self, ident: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ident
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Field::clear
    functionSourceFile: /src/prost/prost-derive/src/field/oneof.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn clear(&self, ident: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/prost/prost-derive/src/field/mod.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: Field::tags
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Vec
    signature: pub fn tags(&self) -> Vec<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: owned
      Src: /src/prost/prost-derive/src/field/scalar.rs:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: Field::default
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - owned
    linkageType: ''
    returnType: TokenStream
    signature: pub fn default(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:300,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:300,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:301,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:301,1
    - Dst: fake_scalar
      Src: /src/prost/prost-derive/src/field/map.rs:305,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/field/map.rs:305,1
    - Dst: scalar::Field::debug
      Src: /src/prost/prost-derive/src/field/map.rs:305,1
    - Dst: rust_type
      Src: /src/prost/prost-derive/src/field/map.rs:306,1
    - Dst: debug
      Src: /src/prost/prost-derive/src/field/map.rs:307,1
    - Dst: lib
      Src: /src/prost/prost-derive/src/field/map.rs:308,1
    - Dst: usize::rust_type
      Src: /src/prost/prost-derive/src/field/map.rs:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - wrapper_name
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: Field::debug
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 2
    functionsReached:
    - lib
    - Span::call_site
    - scalar::Field::debug
    - clone
    - Ident::new
    - fake_scalar
    - debug
    - usize::rust_type
    - rust_type
    linkageType: ''
    returnType: TokenStream
    signature: 'pub fn debug(&self, wrapper_name: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rust_type
      Src: /src/prost/prost-derive/src/field/map.rs:262,1
    - Dst: rust_ref_type
      Src: /src/prost/prost-derive/src/field/map.rs:263,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:265,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:265,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:266,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:266,1
    - Dst: is_numeric
      Src: /src/prost/prost-derive/src/field/map.rs:267,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/map.rs:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ident
    argTypes:
    - '&Ident'
    constantsTouched: []
    func_position:
      end: 292
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 292
    functionName: Field::methods
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - Span::call_site
    - Some
    - Ident::new
    - rust_ref_type
    - rust_type
    - is_numeric
    linkageType: ''
    returnType: Option
    signature: 'pub fn methods(&self, ident: &Ident) -> Option<TokenStream>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: Label::as_str
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: fn as_str(self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/prost/prost-derive/src/field/mod.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: Label::variants
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 1
    functionsReached:
    - iter
    linkageType: ''
    returnType: slice::Iter
    signature: fn variants() -> slice::Iter<'static, Label>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Label::variants
      Src: /src/prost/prost-derive/src/field/mod.rs:204,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:205,1
    - Dst: as_str
      Src: /src/prost/prost-derive/src/field/mod.rs:205,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: Label::from_attr
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - Label::variants
    - as_str
    - is_ident
    linkageType: ''
    returnType: Option
    signature: 'fn from_attr(attr: &Meta) -> Option<Label>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/prost/prost-derive/src/field/mod.rs:222,1
    - Dst: Label::as_str
      Src: /src/prost/prost-derive/src/field/mod.rs:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: Label::fmt
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - Label::as_str
    - write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::iter
      Src: /src/prost/prost-derive/src/field/mod.rs:228,1
    - Dst: Result::flat_map
      Src: /src/prost/prost-derive/src/field/mod.rs:228,1
    - Dst: flat_map
      Src: /src/prost/prost-derive/src/field/mod.rs:228,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:233,1
    - Dst: into_iter
      Src: /src/prost/prost-derive/src/field/mod.rs:234,1
    - Dst: collect
      Src: /src/prost/prost-derive/src/field/mod.rs:234,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/field/mod.rs:236,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/field/mod.rs:239,1
    - Dst: flat_map
      Src: /src/prost/prost-derive/src/field/mod.rs:228,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:243,1
    - Dst: collect
      Src: /src/prost/prost-derive/src/field/mod.rs:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - attrs
    argTypes:
    - Vec<Attribute>
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: prost_attrs
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - collect
    - Result::flat_map
    - flat_map
    - Vec::iter
    - into_iter
    - Vec::new
    - Ok
    - is_ident
    linkageType: ''
    returnType: Vec
    signature: 'fn prost_attrs(attrs: Vec<Attribute>) -> Vec<Meta>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:257,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - option
    - value
    - message
    argTypes:
    - '&mut Option<T>'
    - T
    - '&str'
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: set_option
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_option<T>(option: &mut Option<T>, value: T, message: &str)
      -> Result<(), Error>whereT: fmt::Debug,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - b
    - message
    argTypes:
    - '&mut bool'
    - '&str'
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: set_bool
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_bool(b: &mut bool, message: &str) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::path
      Src: /src/prost/prost-derive/src/field/mod.rs:273,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:273,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:274,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:277,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:277,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/mod.rs:280,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:282,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:282,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/mod.rs:290,1
    - Dst: "value()\n            .parse::<bool>"
      Src: /src/prost/prost-derive/src/field/mod.rs:290,1
    - Dst: map_err
      Src: /src/prost/prost-derive/src/field/mod.rs:290,1
    - Dst: map
      Src: /src/prost/prost-derive/src/field/mod.rs:290,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:298,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - key
    - attr
    argTypes:
    - '&str'
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 301
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 301
    functionName: bool_attr
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - len
    - map_err
    - map
    - Result::value
    - Option::path
    - "value()\n            .parse::<bool>"
    - Ok
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'fn bool_attr(key: &str, attr: &Meta) -> Result<Option<bool>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - attr
    argTypes:
    - '&str'
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: word_attr
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - is_ident
    linkageType: ''
    returnType: bool
    signature: 'fn word_attr(key: &str, attr: &Meta) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::path
      Src: /src/prost/prost-derive/src/field/mod.rs:313,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:313,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:314,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/mod.rs:319,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:321,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:321,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/mod.rs:321,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/mod.rs:327,1
    - Dst: "value()\n                .parse::<u32>"
      Src: /src/prost/prost-derive/src/field/mod.rs:327,1
    - Dst: map_err
      Src: /src/prost/prost-derive/src/field/mod.rs:327,1
    - Dst: map
      Src: /src/prost/prost-derive/src/field/mod.rs:327,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:332,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:332,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/mod.rs:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 337
      start: 312
    functionDepth: 6
    functionLinenumber: 312
    functionLinenumberEnd: 337
    functionName: tag_attr
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - len
    - map_err
    - map
    - Result::value
    - Option::path
    - Result::base10_parse
    - Ok
    - "value()\n                .parse::<u32>"
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn tag_attr(attr: &Meta) -> Result<Option<u32>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::path
      Src: /src/prost/prost-derive/src/field/mod.rs:340,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/mod.rs:340,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:341,1
    - Dst: Vec::with_capacity
      Src: /src/prost/prost-derive/src/field/mod.rs:345,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/mod.rs:345,1
    - Dst: Vec::push
      Src: /src/prost/prost-derive/src/field/mod.rs:348,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/mod.rs:348,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/mod.rs:353,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/mod.rs:353,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/mod.rs:358,1
    - Dst: split
      Src: /src/prost/prost-derive/src/field/mod.rs:358,1
    - Dst: map
      Src: /src/prost/prost-derive/src/field/mod.rs:358,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/mod.rs:361,1
    - Dst: trim().parse::<u32>
      Src: /src/prost/prost-derive/src/field/mod.rs:361,1
    - Dst: map_err
      Src: /src/prost/prost-derive/src/field/mod.rs:361,1
    - Dst: "value()\n            .split(',')\n            .map(|s| s.trim().parse::<u32>().map_err(Error::from))\n\
        \            .collect::<Result<Vec<u32>, _>>"
      Src: /src/prost/prost-derive/src/field/mod.rs:358,1
    - Dst: map
      Src: /src/prost/prost-derive/src/field/mod.rs:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: tags_attr
    functionSourceFile: /src/prost/prost-derive/src/field/mod.rs
    functionUses: 1
    functionsReached:
    - split
    - Some
    - trim().parse::<u32>
    - len
    - map
    - map_err
    - Result::value
    - trim
    - Option::path
    - Vec::with_capacity
    - Vec::push
    - Result::base10_parse
    - Ok
    - "value()\n            .split(',')\n            .map(|s| s.trim().parse::<u32>().map_err(Error::from))\n\
      \            .collect::<Result<Vec<u32>, _>>"
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'fn tags_attr(attr: &Meta) -> Result<Option<Vec<u32>>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wrap_name
    argTypes:
    - TokenStream
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: Field::debug_inner
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: 'fn debug_inner(&self, wrap_name: TokenStream) -> TokenStream'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:397,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: BytesTy::try_from_str
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from_str(s: &str) -> Result<Self, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: BytesTy::rust_type
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: fn rust_type(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:414,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:415,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:416,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:417,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:418,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:419,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:420,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:421,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:422,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:423,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:424,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:425,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:426,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:427,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:428,1
    - Dst: Ty::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:428,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:433,1
    - Dst: Ty::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:433,1
    - Dst: BytesTy::try_from_str
      Src: /src/prost/prost-derive/src/field/scalar.rs:433,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/scalar.rs:433,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:438,1
    - Dst: Ty::Enumeration
      Src: /src/prost/prost-derive/src/field/scalar.rs:438,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:438,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/scalar.rs:438,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:443,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/scalar.rs:445,1
    - Dst: Ty::Enumeration
      Src: /src/prost/prost-derive/src/field/scalar.rs:447,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/field/scalar.rs:447,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:455,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:457,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/scalar.rs:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 68
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 458
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 458
    functionName: Ty::from_attr
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - parse_str::<Path>
    - Ty::Bytes
    - clone
    - Some
    - len
    - Ty::Enumeration
    - Ok
    - Result::value
    - BytesTy::try_from_str
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_attr(attr: &Meta) -> Result<Option<Ty>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/prost/prost-derive/src/field/scalar.rs:461,1
    - Dst: Err
      Src: /src/prost/prost-derive/src/field/scalar.rs:462,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/scalar.rs:463,1
    - Dst: Ty::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:478,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/scalar.rs:479,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/scalar.rs:480,1
    - Dst: chars
      Src: /src/prost/prost-derive/src/field/scalar.rs:481,1
    - Dst: next
      Src: /src/prost/prost-derive/src/field/scalar.rs:481,1
    - Dst: chars
      Src: /src/prost/prost-derive/src/field/scalar.rs:485,1
    - Dst: next_back
      Src: /src/prost/prost-derive/src/field/scalar.rs:485,1
    - Dst: Ty::Enumeration
      Src: /src/prost/prost-derive/src/field/scalar.rs:490,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:490,1
    - Dst: len
      Src: /src/prost/prost-derive/src/field/scalar.rs:490,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/scalar.rs:490,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 495
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 495
    functionName: Ty::from_str
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 2
    functionsReached:
    - parse_str::<Path>
    - Ty::Bytes
    - Err
    - next
    - len
    - Ty::Enumeration
    - trim
    - '&str::len'
    - chars
    - Ok
    - next_back
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_str(s: &str) -> Result<Ty, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: Ty::as_str
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn as_str(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::rust_type
      Src: /src/prost/prost-derive/src/field/scalar.rs:523,1
    - Dst: Ty::rust_ref_type
      Src: /src/prost/prost-derive/src/field/scalar.rs:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: Ty::rust_type
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - Ty::rust_ref_type
    - usize::rust_type
    linkageType: ''
    returnType: TokenStream
    signature: pub fn rust_type(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 548
    functionName: Ty::rust_ref_type
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: pub fn rust_ref_type(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:552,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/scalar.rs:552,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:553,1
    - Dst: Ty::as_str
      Src: /src/prost/prost-derive/src/field/scalar.rs:553,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/scalar.rs:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: Ty::module
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - Ident::new
    - Span::call_site
    - Ty::as_str
    linkageType: ''
    returnType: Ident
    signature: pub fn module(&self) -> Ident
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: Ty::is_numeric
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_numeric(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/prost/prost-derive/src/field/scalar.rs:571,1
    - Dst: Ty::as_str
      Src: /src/prost/prost-derive/src/field/scalar.rs:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: Ty::fmt
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - write_str
    - Ty::as_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::path
      Src: /src/prost/prost-derive/src/field/scalar.rs:608,1
    - Dst: is_ident
      Src: /src/prost/prost-derive/src/field/scalar.rs:608,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:609,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:611,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/scalar.rs:611,1
    - Dst: clone
      Src: /src/prost/prost-derive/src/field/scalar.rs:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - attr
    argTypes:
    - '&Meta'
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: DefaultValue::from_attr
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - clone
    - Some
    - Option::path
    - Ok
    - is_ident
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_attr(attr: &Meta) -> Result<Option<Lit>, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/prost/prost-derive/src/field/scalar.rs:624,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:627,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:627,1
    - Dst: DefaultValue::I32
      Src: /src/prost/prost-derive/src/field/scalar.rs:628,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:628,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:630,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:630,1
    - Dst: DefaultValue::I64
      Src: /src/prost/prost-derive/src/field/scalar.rs:631,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:631,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:633,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:633,1
    - Dst: DefaultValue::U32
      Src: /src/prost/prost-derive/src/field/scalar.rs:634,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:634,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:636,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:636,1
    - Dst: DefaultValue::U64
      Src: /src/prost/prost-derive/src/field/scalar.rs:637,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:637,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:640,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:640,1
    - Dst: DefaultValue::F32
      Src: /src/prost/prost-derive/src/field/scalar.rs:641,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:641,1
    - Dst: DefaultValue::F32
      Src: /src/prost/prost-derive/src/field/scalar.rs:643,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:643,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:645,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:645,1
    - Dst: DefaultValue::F64
      Src: /src/prost/prost-derive/src/field/scalar.rs:646,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:646,1
    - Dst: DefaultValue::F64
      Src: /src/prost/prost-derive/src/field/scalar.rs:648,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:648,1
    - Dst: DefaultValue::Bool
      Src: /src/prost/prost-derive/src/field/scalar.rs:650,1
    - Dst: DefaultValue::String
      Src: /src/prost/prost-derive/src/field/scalar.rs:651,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/scalar.rs:651,1
    - Dst: Ty::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:653,1
    - Dst: Ty::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:653,1
    - Dst: DefaultValue::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:655,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/scalar.rs:655,1
    - Dst: Result::value
      Src: /src/prost/prost-derive/src/field/scalar.rs:659,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/scalar.rs:660,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:663,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/scalar.rs:663,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:664,1
    - Dst: DefaultValue::Enumeration
      Src: /src/prost/prost-derive/src/field/scalar.rs:664,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:671,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:671,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:671,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:676,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:676,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:676,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:681,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:681,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:681,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:689,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:689,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:689,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:694,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:694,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:694,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:699,1
    - Dst: DefaultValue::Path
      Src: /src/prost/prost-derive/src/field/scalar.rs:699,1
    - Dst: parse_str::<Path>
      Src: /src/prost/prost-derive/src/field/scalar.rs:699,1
    - Dst: strip_prefix
      Src: /src/prost/prost-derive/src/field/scalar.rs:706,1
    - Dst: map
      Src: /src/prost/prost-derive/src/field/scalar.rs:706,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:708,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:708,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:710,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:711,1
    - Dst: i32::try_from
      Src: /src/prost/prost-derive/src/field/scalar.rs:711,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/field/scalar.rs:711,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:713,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:713,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:715,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:716,1
    - Dst: i64::try_from
      Src: /src/prost/prost-derive/src/field/scalar.rs:716,1
    - Dst: Result::map
      Src: /src/prost/prost-derive/src/field/scalar.rs:716,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:719,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:719,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:721,1
    - Dst: DefaultValue::F32
      Src: /src/prost/prost-derive/src/field/scalar.rs:721,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:721,1
    - Dst: empty_or_is
      Src: /src/prost/prost-derive/src/field/scalar.rs:724,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:724,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:726,1
    - Dst: DefaultValue::F64
      Src: /src/prost/prost-derive/src/field/scalar.rs:726,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:726,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:728,1
    - Dst: is_empty
      Src: /src/prost/prost-derive/src/field/scalar.rs:728,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:729,1
    - Dst: DefaultValue::F32
      Src: /src/prost/prost-derive/src/field/scalar.rs:729,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:729,1
    - Dst: Result::suffix
      Src: /src/prost/prost-derive/src/field/scalar.rs:731,1
    - Dst: is_empty
      Src: /src/prost/prost-derive/src/field/scalar.rs:731,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:732,1
    - Dst: DefaultValue::F64
      Src: /src/prost/prost-derive/src/field/scalar.rs:732,1
    - Dst: Result::base10_parse
      Src: /src/prost/prost-derive/src/field/scalar.rs:732,1
    - Dst: syn::parse_str::<Lit>
      Src: /src/prost/prost-derive/src/field/scalar.rs:737,1
    - Dst: DefaultValue::from_lit
      Src: /src/prost/prost-derive/src/field/scalar.rs:739,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/scalar.rs:747,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 285
    argCount: 2
    argNames:
    - ty
    - lit
    argTypes:
    - '&Ty'
    - Lit
    constantsTouched: []
    func_position:
      end: 748
      start: 617
    functionDepth: 6
    functionLinenumber: 617
    functionLinenumberEnd: 748
    functionName: DefaultValue::from_lit
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 1
    functionsReached:
    - DefaultValue::from_lit
    - Ty::Bytes
    - strip_prefix
    - is_empty
    - map
    - syn::parse_str::<Lit>
    - DefaultValue::U32
    - DefaultValue::Enumeration
    - Result::base10_parse
    - DefaultValue::F32
    - parse_str::<Path>
    - Span::call_site
    - DefaultValue::F64
    - Ident::new
    - DefaultValue::Path
    - i32::try_from
    - trim
    - DefaultValue::I64
    - DefaultValue::U64
    - DefaultValue::String
    - i64::try_from
    - empty_or_is
    - DefaultValue::I32
    - Result::map
    - Result::suffix
    - DefaultValue::Bool
    - DefaultValue::Bytes
    - Result::value
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_lit(ty: &Ty, lit: Lit) -> Result<DefaultValue, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DefaultValue::F32
      Src: /src/prost/prost-derive/src/field/scalar.rs:752,1
    - Dst: DefaultValue::F64
      Src: /src/prost/prost-derive/src/field/scalar.rs:753,1
    - Dst: DefaultValue::I32
      Src: /src/prost/prost-derive/src/field/scalar.rs:754,1
    - Dst: DefaultValue::I64
      Src: /src/prost/prost-derive/src/field/scalar.rs:755,1
    - Dst: DefaultValue::U32
      Src: /src/prost/prost-derive/src/field/scalar.rs:756,1
    - Dst: DefaultValue::U64
      Src: /src/prost/prost-derive/src/field/scalar.rs:757,1
    - Dst: DefaultValue::Bool
      Src: /src/prost/prost-derive/src/field/scalar.rs:759,1
    - Dst: DefaultValue::String
      Src: /src/prost/prost-derive/src/field/scalar.rs:760,1
    - Dst: String::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:760,1
    - Dst: DefaultValue::Bytes
      Src: /src/prost/prost-derive/src/field/scalar.rs:761,1
    - Dst: Vec::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:761,1
    - Dst: DefaultValue::Enumeration
      Src: /src/prost/prost-derive/src/field/scalar.rs:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ty
    argTypes:
    - '&Ty'
    constantsTouched: []
    func_position:
      end: 764
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 764
    functionName: DefaultValue::new
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 1
    functionsReached:
    - DefaultValue::Bool
    - DefaultValue::F64
    - DefaultValue::U64
    - DefaultValue::Bytes
    - DefaultValue::U32
    - Vec::new
    - DefaultValue::String
    - DefaultValue::Enumeration
    - String::new
    - DefaultValue::I32
    - DefaultValue::F32
    - DefaultValue::I64
    linkageType: ''
    returnType: DefaultValue
    signature: 'pub fn new(ty: &Ty) -> DefaultValue'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/prost/prost-derive/src/field/scalar.rs:768,1
    - Dst: is_empty
      Src: /src/prost/prost-derive/src/field/scalar.rs:772,1
    - Dst: LitByteStr::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:774,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/scalar.rs:774,1
    - Dst: typed
      Src: /src/prost/prost-derive/src/field/scalar.rs:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 780
    functionName: DefaultValue::owned
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - Span::call_site
    - typed
    - LitByteStr::new
    - is_empty
    linkageType: ''
    returnType: TokenStream
    signature: pub fn owned(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 788
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 788
    functionName: DefaultValue::typed
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: pub fn typed(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:794,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:795,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:796,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:797,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:798,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:799,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:800,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:801,1
    - Dst: LitByteStr::new
      Src: /src/prost/prost-derive/src/field/scalar.rs:803,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/scalar.rs:803,1
    - Dst: append_all
      Src: /src/prost/prost-derive/src/field/scalar.rs:804,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:806,1
    - Dst: to_tokens
      Src: /src/prost/prost-derive/src/field/scalar.rs:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - '&mut TokenStream'
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: DefaultValue::to_tokens
    functionSourceFile: /src/prost/prost-derive/src/field/scalar.rs
    functionUses: 0
    functionsReached:
    - Span::call_site
    - append_all
    - LitByteStr::new
    - to_tokens
    linkageType: ''
    returnType: void
    signature: 'fn to_tokens(&self, tokens: &mut TokenStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/map.rs:17,1
    - Dst: Some
      Src: /src/prost/prost-derive/src/field/map.rs:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: MapTy::from_str
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn from_str(s: &str) -> Option<MapTy>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:25,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:25,1
    - Dst: Ident::new
      Src: /src/prost/prost-derive/src/field/map.rs:26,1
    - Dst: Span::call_site
      Src: /src/prost/prost-derive/src/field/map.rs:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: MapTy::module
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - Ident::new
    - Span::call_site
    linkageType: ''
    returnType: Ident
    signature: fn module(&self) -> Ident
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: MapTy::lib
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenStream
    signature: fn lib(&self) -> TokenStream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar::Kind::Plain
      Src: /src/prost/prost-derive/src/field/map.rs:39,1
    - Dst: scalar::DefaultValue::new
      Src: /src/prost/prost-derive/src/field/map.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ty
    argTypes:
    - scalar::Ty
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: fake_scalar
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 2
    functionsReached:
    - scalar::DefaultValue::new
    - scalar::Kind::Plain
    linkageType: ''
    returnType: scalar::Field
    signature: 'fn fake_scalar(ty: scalar::Ty) -> scalar::Field'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar::Ty::from_str
      Src: /src/prost/prost-derive/src/field/map.rs:344,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/map.rs:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: key_ty_from_str
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - Ok
    - scalar::Ty::from_str
    linkageType: ''
    returnType: Result
    signature: 'fn key_ty_from_str(s: &str) -> Result<scalar::Ty, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar::Ty::from_str
      Src: /src/prost/prost-derive/src/field/map.rs:371,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/map.rs:372,1
    - Dst: ValueTy::Scalar
      Src: /src/prost/prost-derive/src/field/map.rs:372,1
    - Dst: trim
      Src: /src/prost/prost-derive/src/field/map.rs:373,1
    - Dst: Ok
      Src: /src/prost/prost-derive/src/field/map.rs:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: ValueTy::from_str
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - ValueTy::Scalar
    - Ok
    - scalar::Ty::from_str
    - trim
    linkageType: ''
    returnType: Result
    signature: 'fn from_str(s: &str) -> Result<ValueTy, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fake_scalar
      Src: /src/prost/prost-derive/src/field/map.rs:386,1
    - Dst: usize::clone
      Src: /src/prost/prost-derive/src/field/map.rs:386,1
    - Dst: scalar::Field::debug
      Src: /src/prost/prost-derive/src/field/map.rs:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: ValueTy::debug
    functionSourceFile: /src/prost/prost-derive/src/field/map.rs
    functionUses: 0
    functionsReached:
    - fake_scalar
    - scalar::Field::debug
    - usize::clone
    linkageType: ''
    returnType: TokenStream
    signature: fn debug(&self) -> TokenStream
Fuzzer filename: /src/prost/fuzz/fuzzers/proto3.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - main
  source_file: /src/prost/tests/src/build.rs
- function_names:
  - test_warns_when_using_fields_with_deprecated_field
  source_file: /src/prost/tests/src/deprecated_field.rs
- function_names:
  - check_repeated_floats
  - check_scalar_types
  - check_tags_inferred
  - check_default_values
  source_file: /src/prost/tests/src/message_encoding.rs
- function_names:
  - generic_enum
  source_file: /src/prost/tests/src/generic_derive.rs
- function_names:
  - basic
  - oneof_with_enum
  source_file: /src/prost/tests/src/debug.rs
- function_names:
  - test_well_known_types
  source_file: /src/prost/tests/src/well_known_types.rs
- function_names:
  - test
  source_file: /src/prost/tests/src/extern_paths.rs
- function_names:
  - RoundtripResult::unwrap
  - RoundtripResult::unwrap_error
  - roundtrip
  - check_message
  - check_serialize_equivalent
  - tests::test_all_types_proto3
  - tests::test_ident_conversions
  - tests::test_custom_type_attributes
  - tests::test_nesting
  - t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::build_and_roundtrip
  - tests::test_deep_nesting
  - t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::o::n::e::o::f::build_and_roundtrip
  - tests::test_deep_nesting_oneof
  - t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::g::r::o::u::p::build_and_roundtrip
  - tests::test_deep_nesting_group
  - t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::r::e::p::e::a::t::e::d::build_and_roundtrip
  - tests::test_deep_nesting_repeated
  - t::e::s::t::s::::::::t::e::s::t::_::d::e::e::p::_::n::e::s::t::i::n::g::_::m::a::p::build_and_roundtrip
  - tests::test_deep_nesting_map
  - tests::test_recursive_oneof
  - tests::test_267_regression
  - tests::test_default_enum
  - tests::test_group
  - tests::test_group_oneof
  - tests::test_proto3_presence
  - tests::test_file_descriptor_set_path
  source_file: /src/prost/tests/src/lib.rs
- function_names:
  - extreme_default_values
  source_file: /src/prost/tests/src/unittest.rs
- function_names:
  - dummy
  source_file: /src/prost/tests/src/no_unused_results.rs
- function_names:
  - bootstrap
  source_file: /src/prost/tests/src/bootstrap.rs
- function_names:
  - gizmo::Gizmo::do_it
  - test
  source_file: /src/prost/tests/src/packages/mod.rs
- function_names: []
  source_file: /src/prost/prost-types/src/protobuf.rs
- function_names:
  - Duration::normalize
  - Duration::from
  - time::Duration::try_from
  - Timestamp::normalize
  - Timestamp::from
  - std::time::SystemTime::from
  - tests::check_timestamp_negative_seconds
  - tests::check_timestamp_negative_seconds_1ns
  source_file: /src/prost/prost-types/src/lib.rs
- function_names: []
  source_file: /src/prost/prost-types/src/compiler.rs
- function_names:
  - bool::encode_raw
  - bool::merge_field
  - bool::encoded_len
  - bool::clear
  - u32::encode_raw
  - u32::merge_field
  - u32::encoded_len
  - u32::clear
  - u64::encode_raw
  - u64::merge_field
  - u64::encoded_len
  - u64::clear
  - i32::encode_raw
  - i32::merge_field
  - i32::encoded_len
  - i32::clear
  - i64::encode_raw
  - i64::merge_field
  - i64::encoded_len
  - i64::clear
  - f32::encode_raw
  - f32::merge_field
  - f32::encoded_len
  - f32::clear
  - f64::encode_raw
  - f64::merge_field
  - f64::encoded_len
  - f64::clear
  - String::encode_raw
  - String::merge_field
  - String::encoded_len
  - String::clear
  - Vec::encode_raw
  - Vec::merge_field
  - Vec::encoded_len
  - Vec::clear
  - Bytes::encode_raw
  - Bytes::merge_field
  - Bytes::encoded_len
  - Bytes::clear
  - ()::encode_raw
  - ()::merge_field
  - ()::encoded_len
  - ()::clear
  source_file: /src/prost/src/types.rs
- function_names:
  - encode_varint
  - decode_varint
  - decode_varint_slice
  - decode_varint_slow
  - DecodeContext::default
  - DecodeContext::default
  - DecodeContext::enter_recursion
  - DecodeContext::enter_recursion
  - DecodeContext::limit_reached
  - DecodeContext::limit_reached
  - encoded_len_varint
  - WireType::try_from
  - encode_key
  - decode_key
  - key_len
  - check_wire_type
  - merge_loop
  - skip_field
  - encode_repeated
  - merge_repeated_numeric
  - varint
  - fixed_width
  - length_delimited
  - string::encode
  - string::merge
  - Bytes::len
  - Bytes::replace_with
  - Bytes::append_to
  - Vec::len
  - Vec::replace_with
  - Vec::append_to
  - bytes::encode
  - bytes::merge
  - message::encode
  - message::merge
  - message::encode_repeated
  - message::merge_repeated
  - message::encoded_len
  - message::encoded_len_repeated
  - group::encode
  - group::merge
  - group::encode_repeated
  - group::merge_repeated
  - group::encoded_len
  - group::encoded_len_repeated
  - map
  - test::check_type
  - test::check_collection_type
  - test::string_merge_invalid_utf8
  - t::e::s::t::::::::v::a::r::i::n::t::check
  - test::varint
  source_file: /src/prost/src/encoding.rs
- function_names:
  - DecodeError::new
  - DecodeError::push
  - DecodeError::fmt
  - DecodeError::fmt
  - std::io::Error::from
  - EncodeError::new
  - EncodeError::required_capacity
  - EncodeError::remaining
  - EncodeError::fmt
  - std::io::Error::from
  source_file: /src/prost/src/error.rs
- function_names:
  - Message::encode
  - Message::encode_length_delimited
  - Message::decode
  - Message::decode_length_delimited
  - Message::merge
  - Message::merge_length_delimited
  - Box::encode_raw
  - Box::merge_field
  - Box::encoded_len
  - Box::clear
  source_file: /src/prost/src/message.rs
- function_names:
  - encode_length_delimiter
  - length_delimiter_len
  - decode_length_delimiter
  source_file: /src/prost/src/lib.rs
- function_names:
  - test_conformance
  source_file: /src/prost/conformance/tests/conformance.rs
- function_names:
  - main
  - handle_request
  source_file: /src/prost/conformance/src/main.rs
- function_names:
  - fuzz_target
  source_file: /src/prost/fuzz/fuzzers/proto2.rs
- function_names:
  - fuzz_target
  source_file: /src/prost/fuzz/fuzzers/proto3.rs
- function_names:
  - main
  - download_tarball
  - download_protobuf
  - install_conformance_test_runner
  - install_conformance_test_runner
  - install_protos
  - install_datasets
  source_file: /src/prost/protobuf/build.rs
- function_names:
  - benchmarks::google_message1_proto2
  - benchmarks::google_message1_proto3
  - benchmarks::google_message2
  - benchmarks::google_message3_1
  - benchmarks::google_message3_5
  - benchmarks::google_message4
  - conformance::test_runner
  source_file: /src/prost/protobuf/src/lib.rs
- function_names:
  - load_dataset
  - benchmark_dataset
  - dataset
  source_file: /src/prost/protobuf/benches/dataset.rs
- function_names:
  - benchmark_varint
  - main
  source_file: /src/prost/benches/varint.rs
- function_names:
  - try_message
  - message
  - try_enumeration
  - enumeration
  - try_oneof
  - oneof
  source_file: /src/prost/prost-derive/src/lib.rs
- function_names:
  - Field::new
  - Field::new_oneof
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  source_file: /src/prost/prost-derive/src/field/group.rs
- function_names:
  - Field::new
  - Field::new_oneof
  - Field::tags
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  - Field::default
  - Field::debug
  - Field::methods
  - Label::as_str
  - Label::variants
  - Label::from_attr
  - Label::fmt
  - Label::fmt
  - prost_attrs
  - set_option
  - set_bool
  - bool_attr
  - word_attr
  - tag_attr
  - tags_attr
  source_file: /src/prost/prost-derive/src/field/mod.rs
- function_names:
  - Field::new
  - Field::new_oneof
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  - Field::default
  - Field::debug_inner
  - Field::debug
  - Field::methods
  - BytesTy::try_from_str
  - BytesTy::rust_type
  - Ty::from_attr
  - Ty::from_str
  - Ty::as_str
  - Ty::rust_type
  - Ty::rust_ref_type
  - Ty::module
  - Ty::is_numeric
  - Ty::fmt
  - Ty::fmt
  - DefaultValue::from_attr
  - DefaultValue::from_lit
  - DefaultValue::new
  - DefaultValue::owned
  - DefaultValue::typed
  - DefaultValue::to_tokens
  source_file: /src/prost/prost-derive/src/field/scalar.rs
- function_names:
  - Field::new
  - Field::new_oneof
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  source_file: /src/prost/prost-derive/src/field/message.rs
- function_names:
  - MapTy::from_str
  - MapTy::module
  - MapTy::lib
  - fake_scalar
  - Field::new
  - Field::new_oneof
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  - Field::methods
  - Field::debug
  - key_ty_from_str
  - ValueTy::from_str
  - ValueTy::debug
  source_file: /src/prost/prost-derive/src/field/map.rs
- function_names:
  - Field::new
  - Field::encode
  - Field::merge
  - Field::encoded_len
  - Field::clear
  source_file: /src/prost/prost-derive/src/field/oneof.rs
