Lines Copies Function name ----- ------ ------------- 13343 (100%) 422 (100%) (TOTAL) 864 (6.5%) 4 (0.9%) ::parse2 747 (5.6%) 1 (0.2%) actix_macros::test 648 (4.9%) 1 (0.2%) actix_macros::main 454 (3.4%) 3 (0.7%) syn::error::Error::new_spanned 446 (3.3%) 4 (0.9%) proc_macro::bridge::scoped_cell::ScopedCell::replace 286 (2.1%) 4 (0.9%) std::thread::local::LocalKey::try_with 278 (2.1%) 6 (1.4%) core::mem::replace 264 (2.0%) 3 (0.7%) core::option::Option::map_or_else 258 (1.9%) 3 (0.7%) core::option::Option::map_or 204 (1.5%) 2 (0.5%) proc_macro::bridge::buffer::Buffer::extend_from_array 203 (1.5%) 3 (0.7%) alloc::alloc::box_free 198 (1.5%) 6 (1.4%) syn::error::Error::new_spanned::{{closure}} 186 (1.4%) 11 (2.6%) core::ops::function::FnOnce::call_once 175 (1.3%) 1 (0.2%) as core::iter::traits::iterator::Iterator>::fold 173 (1.3%) 2 (0.5%) core::iter::traits::iterator::Iterator::fold 168 (1.3%) 1 (0.2%) proc_macro::bridge::client::run_client::{{closure}}::{{closure}} 163 (1.2%) 2 (0.5%) as proc_macro::bridge::rpc::Encode>::encode 158 (1.2%) 2 (0.5%) syn::parse::Parser::parse_str 153 (1.1%) 1 (0.2%) syn::lit::LitStr::parse_with 130 (1.0%) 3 (0.7%) as core::ops::try_trait::Try>::branch 129 (1.0%) 3 (0.7%) core::result::Result::expect 127 (1.0%) 7 (1.7%) core::ptr::read 127 (1.0%) 1 (0.2%) std::panicking::update_hook 119 (0.9%) 2 (0.5%) proc_macro::bridge::client::::with::{{closure}} 117 (0.9%) 3 (0.7%) proc_macro::bridge::client::BridgeState::with::{{closure}}::{{closure}} 102 (0.8%) 8 (1.9%) core::mem::manually_drop::ManuallyDrop::new 101 (0.8%) 1 (0.2%) >::extend 99 (0.7%) 1 (0.2%) >::from_iter 97 (0.7%) 1 (0.2%) alloc::alloc::Global::alloc_impl 88 (0.7%) 2 (0.5%) syn::parse::Parser::parse 87 (0.7%) 2 (0.5%) core::result::Result::unwrap 86 (0.6%) 2 (0.5%) core::option::Option::map 78 (0.6%) 5 (1.2%) as core::ops::try_trait::FromResidual>>::from_residual 78 (0.6%) 3 (0.7%) quote::to_tokens::ToTokens::to_token_stream 75 (0.6%) 2 (0.5%) proc_macro::bridge::client::run_client::{{closure}} 75 (0.6%) 1 (0.2%) proc_macro::bridge::client::run_client 73 (0.5%) 3 (0.7%) quote::to_tokens::ToTokens::into_token_stream 73 (0.5%) 1 (0.2%) core::iter::adapters::map::map_fold::{{closure}} 73 (0.5%) 1 (0.2%) proc_macro::bridge::client::Client proc_macro::TokenStream>::expand2::run::{{closure}} 71 (0.5%) 1 (0.2%) core::iter::traits::iterator::Iterator::chain 70 (0.5%) 2 (0.5%) core::cell::Cell::replace 69 (0.5%) 4 (0.9%) core::option::Option::unwrap 69 (0.5%) 1 (0.2%) alloc::boxed::Box::into_unique 69 (0.5%) 1 (0.2%) std::sys::unix::rwlock::RWLock::write 68 (0.5%) 1 (0.2%) actix_macros::input_and_compile_error 68 (0.5%) 1 (0.2%) proc_macro::bridge::buffer::Buffer::push 68 (0.5%) 1 (0.2%) std::thread::local::lazy::LazyKeyInner::initialize 67 (0.5%) 1 (0.2%) as core::convert::From>>::from 64 (0.5%) 7 (1.7%) core::mem::maybe_uninit::MaybeUninit::assume_init 63 (0.5%) 1 (0.2%) core::result::Result::map_err 63 (0.5%) 1 (0.2%) proc_macro::bridge::client::::enter 62 (0.5%) 1 (0.2%) as proc_macro::bridge::rpc::Encode>::encode 59 (0.4%) 1 (0.2%) core::fmt::Arguments::new_v1 58 (0.4%) 1 (0.2%) std::thread::local::fast::Key::get 57 (0.4%) 1 (0.2%) as core::iter::traits::iterator::Iterator>::fold 57 (0.4%) 1 (0.2%) std::thread::local::fast::Key::try_initialize 55 (0.4%) 1 (0.2%) std::panicking::try 54 (0.4%) 1 (0.2%) alloc::boxed::Box::into_raw_with_allocator 54 (0.4%) 1 (0.2%) core::slice::iter::Iter::post_inc_start 53 (0.4%) 4 (0.9%) core::ops::function::FnOnce::call_once{{vtable.shim}} 53 (0.4%) 1 (0.2%) std::sync::once::Once::call_once 52 (0.4%) 9 (2.1%) core::mem::manually_drop::ManuallyDrop::into_inner 51 (0.4%) 1 (0.2%) <(A,B) as proc_macro::bridge::rpc::DecodeMut>::decode 50 (0.4%) 6 (1.4%) core::ptr::write 49 (0.4%) 4 (0.9%) core::mem::forget 48 (0.4%) 2 (0.5%) proc_macro::bridge::client::run_client::{{closure}}::{{closure}}::{{closure}} 48 (0.4%) 1 (0.2%) >::decode 48 (0.4%) 1 (0.2%) core::iter::adapters::chain::Chain::new 48 (0.4%) 1 (0.2%) core::slice::iter::Iter::new 46 (0.3%) 4 (0.9%) std::thread::local::LocalKey::with 46 (0.3%) 2 (0.5%) core::option::Option::as_ref 46 (0.3%) 1 (0.2%) as core::iter::traits::iterator::Iterator>::next 45 (0.3%) 1 (0.2%) as core::convert::From>>::from::reserve 45 (0.3%) 1 (0.2%) core::iter::traits::iterator::Iterator::for_each 44 (0.3%) 3 (0.7%) proc_macro::bridge::client::BridgeState::with::{{closure}} 44 (0.3%) 1 (0.2%) core::result::Result::unwrap_or_else 42 (0.3%) 1 (0.2%) alloc::alloc::exchange_malloc 42 (0.3%) 1 (0.2%) alloc::boxed::Box::from_raw_in 42 (0.3%) 1 (0.2%) core::ptr::drop_in_place+Output = ()+core::marker::Send+core::marker::Sync>> 42 (0.3%) 1 (0.2%) core::ptr::drop_in_place> 41 (0.3%) 1 (0.2%) as core::ops::function::FnOnce>::call_once 40 (0.3%) 2 (0.5%) proc_macro::bridge::client::::enter::{{closure}} 40 (0.3%) 1 (0.2%) core::option::Option::as_deref 39 (0.3%) 1 (0.2%) >::extend 39 (0.3%) 1 (0.2%) alloc::raw_vec::RawVec::from_raw_parts_in 37 (0.3%) 3 (0.7%) core::ptr::unique::Unique::cast 37 (0.3%) 2 (0.5%) core::ops::function::FnMut::call_mut 36 (0.3%) 1 (0.2%) core::option::Option::ok_or 35 (0.3%) 3 (0.7%) core::ptr::unique::Unique::as_ref 35 (0.3%) 1 (0.2%) proc_macro::bridge::client::::enter::{{closure}}::{{closure}} 35 (0.3%) 1 (0.2%) syn::path::parsing::::is_ident 33 (0.2%) 2 (0.5%) core::cell::Cell::set 33 (0.2%) 1 (0.2%) actix_macros::main::{{closure}} 33 (0.2%) 1 (0.2%) actix_macros::test::{{closure}} 33 (0.2%) 1 (0.2%) std::panicking::try::do_catch 33 (0.2%) 1 (0.2%) std::thread::local::fast::destroy_value 32 (0.2%) 1 (0.2%) >::encode 32 (0.2%) 1 (0.2%) std::panicking::update_hook::{{closure}} 32 (0.2%) 1 (0.2%) std::thread::local::fast::Key::try_register_dtor 30 (0.2%) 3 (0.7%) <&T as quote::to_tokens::ToTokens>::to_tokens 30 (0.2%) 1 (0.2%) core::ptr::drop_in_place> 29 (0.2%) 1 (0.2%) >::encode 29 (0.2%) 1 (0.2%) core::ptr::metadata::from_raw_parts 28 (0.2%) 6 (1.4%) core::mem::maybe_uninit::MaybeUninit::as_mut_ptr 28 (0.2%) 3 (0.7%) core::option::Option::take 28 (0.2%) 2 (0.5%) ::into_iter 28 (0.2%) 1 (0.2%) core::iter::traits::iterator::Iterator::for_each::call::{{closure}} 28 (0.2%) 1 (0.2%) core::ptr::drop_in_place<(proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::TokenStream)> 28 (0.2%) 1 (0.2%) core::ptr::drop_in_place,core::iter::adapters::map::Map>::from>>> 28 (0.2%) 1 (0.2%) proc_macro::bridge::client::::enter::{{closure}}::{{closure}}::{{closure}} 27 (0.2%) 6 (1.4%) core::cell::UnsafeCell::get 27 (0.2%) 3 (0.7%) core::ptr::unique::Unique::as_ptr 27 (0.2%) 1 (0.2%) <&[u8] as proc_macro::bridge::rpc::Encode>::encode 27 (0.2%) 1 (0.2%) ::deallocate 27 (0.2%) 1 (0.2%) core::ptr::drop_in_place::replace::PutBackOnDrop> 26 (0.2%) 1 (0.2%) core::iter::traits::iterator::Iterator::map 26 (0.2%) 1 (0.2%) proc_macro::bridge::scoped_cell::ScopedCell::set 25 (0.2%) 3 (0.7%) proc_macro::bridge::client::BridgeState::with 25 (0.2%) 1 (0.2%) >::from_iter::{{closure}} 25 (0.2%) 1 (0.2%) as core::convert::From>>::from::to_vec 25 (0.2%) 1 (0.2%) core::option::Option::as_mut 25 (0.2%) 1 (0.2%) std::panicking::try::do_call 25 (0.2%) 1 (0.2%) std::panicking::update_hook<[closure@proc_macro::bridge::client::::enter< 24 (0.2%) 2 (0.5%) core::ptr::mut_ptr::::offset 24 (0.2%) 1 (0.2%) alloc::boxed::Box::leak 24 (0.2%) 1 (0.2%) core::iter::traits::iterator::Iterator::collect 24 (0.2%) 1 (0.2%) core::ops::function::impls:: for &mut F>::call_mut 23 (0.2%) 5 (1.2%) core::mem::drop 23 (0.2%) 1 (0.2%) as quote::__private::ext::RepAsIteratorExt>::quote_into_iter 23 (0.2%) 1 (0.2%) ::clone 23 (0.2%) 1 (0.2%) alloc::vec::Vec::from_raw_parts_in 23 (0.2%) 1 (0.2%) core::slice::::copy_from_slice 23 (0.2%) 1 (0.2%) core::str::traits::::eq 22 (0.2%) 1 (0.2%) alloc::boxed::Box::new 22 (0.2%) 1 (0.2%) core::iter::adapters::map::Map::new 22 (0.2%) 1 (0.2%) core::ptr::read_unaligned 21 (0.2%) 1 (0.2%) std::panicking::Hook::custom 20 (0.1%) 1 (0.2%) >::encode 20 (0.1%) 1 (0.2%) >::encode 20 (0.1%) 1 (0.2%) core::alloc::layout::Layout::from_size_align_unchecked 19 (0.1%) 1 (0.2%) <&str as proc_macro::bridge::rpc::Encode>::encode 19 (0.1%) 1 (0.2%) as core::ops::function::Fn>::call 19 (0.1%) 1 (0.2%) as core::ops::function::FnMut>::call_mut 19 (0.1%) 1 (0.2%) as core::convert::From<&mut T>>::from 19 (0.1%) 1 (0.2%) core::num::::from_ne_bytes 19 (0.1%) 1 (0.2%) core::ptr::unique::Unique::new_unchecked 19 (0.1%) 1 (0.2%) core::str::::as_bytes 19 (0.1%) 1 (0.2%) core::str::converts::from_utf8_unchecked 19 (0.1%) 1 (0.2%) std::panicking::Hook::Custom 18 (0.1%) 7 (1.7%) core::mem::maybe_uninit::MaybeUninit::uninit 18 (0.1%) 2 (0.5%) syn::parse_str 18 (0.1%) 1 (0.2%) core::num::::from_le_bytes 18 (0.1%) 1 (0.2%) std::panicking::panic_count::count_is_zero 18 (0.1%) 1 (0.2%) std::sync::once::Once::call_once::{{closure}} 17 (0.1%) 1 (0.2%) core::ptr::drop_in_place 16 (0.1%) 2 (0.5%) proc_macro::bridge::client::::with 16 (0.1%) 1 (0.2%) >::into 16 (0.1%) 1 (0.2%) ::allocate 16 (0.1%) 1 (0.2%) as core::ops::drop::Drop>::drop 16 (0.1%) 1 (0.2%) ::replace::PutBackOnDrop as core::ops::drop::Drop>::drop 16 (0.1%) 1 (0.2%) alloc::alloc::dealloc 16 (0.1%) 1 (0.2%) alloc::boxed::Box::into_raw 16 (0.1%) 1 (0.2%) core::mem::transmute_copy 16 (0.1%) 1 (0.2%) core::num::::to_le_bytes 16 (0.1%) 1 (0.2%) core::num::::to_le_bytes 16 (0.1%) 1 (0.2%) core::option::Option::is_some 16 (0.1%) 1 (0.2%) syn::parse 16 (0.1%) 1 (0.2%) syn::parse_macro_input::parse 15 (0.1%) 1 (0.2%) ::deref 15 (0.1%) 1 (0.2%) alloc::vec::Vec::as_ptr 15 (0.1%) 1 (0.2%) core::num::nonzero::NonZeroU32::new 15 (0.1%) 1 (0.2%) core::ptr::drop_in_place> 15 (0.1%) 1 (0.2%) core::ptr::slice_from_raw_parts 15 (0.1%) 1 (0.2%) core::slice::index:: for [T]>::index 15 (0.1%) 1 (0.2%) core::slice::raw::from_raw_parts 15 (0.1%) 1 (0.2%) proc_macro::bridge::client::Client proc_macro::TokenStream>::expand2::run 14 (0.1%) 1 (0.2%) <&alloc::vec::Vec as core::iter::traits::collect::IntoIterator>::into_iter 14 (0.1%) 1 (0.2%) as core::ops::deref::Deref>::deref 14 (0.1%) 1 (0.2%) >::encode 14 (0.1%) 1 (0.2%) as core::ops::deref::Deref>::deref 14 (0.1%) 1 (0.2%) >::decode 14 (0.1%) 1 (0.2%) core::ptr::drop_in_place>::from>>> 13 (0.1%) 1 (0.2%) >::decode 13 (0.1%) 1 (0.2%) alloc::alloc::alloc 13 (0.1%) 1 (0.2%) alloc::alloc::alloc_zeroed 13 (0.1%) 1 (0.2%) alloc::boxed::Box::from_raw 13 (0.1%) 1 (0.2%) core::cell::Cell::new 13 (0.1%) 1 (0.2%) core::ptr::drop_in_place 13 (0.1%) 1 (0.2%) core::slice::::iter 13 (0.1%) 1 (0.2%) proc_macro::bridge::scoped_cell::ScopedCell::new 12 (0.1%) 1 (0.2%) >::encode 12 (0.1%) 1 (0.2%) alloc::vec::Vec::from_raw_parts 12 (0.1%) 1 (0.2%) core::ops::function::Fn::call 12 (0.1%) 1 (0.2%) core::ptr::const_ptr::::offset 12 (0.1%) 1 (0.2%) core::ptr::const_ptr::::wrapping_offset 12 (0.1%) 1 (0.2%) core::ptr::drop_in_place>> 12 (0.1%) 1 (0.2%) core::ptr::drop_in_place+Output = ()+core::marker::Send+core::marker::Sync> 12 (0.1%) 1 (0.2%) core::ptr::drop_in_place 12 (0.1%) 1 (0.2%) core::ptr::drop_in_place 12 (0.1%) 1 (0.2%) core::sync::atomic::AtomicUsize::load 12 (0.1%) 1 (0.2%) proc_macro::bridge::scoped_cell::ScopedCell::set::{{closure}} 12 (0.1%) 1 (0.2%) std::panic::catch_unwind 12 (0.1%) 1 (0.2%) std::sys::unix::rwlock::RWLock::raw_unlock 12 (0.1%) 1 (0.2%) std::sys_common::rwlock::StaticRWLock::write 11 (0.1%) 1 (0.2%) >::index 11 (0.1%) 1 (0.2%) as core::ops::function::FnOnce<()>>::call_once 11 (0.1%) 1 (0.2%) as core::convert::From>>::from::drop 11 (0.1%) 1 (0.2%) std::sync::once::Once::is_completed 10 (0.1%) 1 (0.2%) <&mut T as quote::to_tokens::ToTokens>::to_tokens 10 (0.1%) 1 (0.2%) as quote::to_tokens::ToTokens>::to_tokens 10 (0.1%) 1 (0.2%) as quote::to_tokens::ToTokens>::to_tokens 10 (0.1%) 1 (0.2%) core::cell::UnsafeCell::new 10 (0.1%) 1 (0.2%) core::iter::adapters::map::map_fold 10 (0.1%) 1 (0.2%) core::num::::to_ne_bytes 10 (0.1%) 1 (0.2%) core::num::::to_ne_bytes 10 (0.1%) 1 (0.2%) std::sys::unix::rwlock::RWLock::write_unlock 9 (0.1%) 1 (0.2%) <() as proc_macro::bridge::rpc::Encode>::encode 9 (0.1%) 1 (0.2%) core::alloc::layout::Layout::dangling 9 (0.1%) 1 (0.2%) core::mem::take 9 (0.1%) 1 (0.2%) core::ptr::const_ptr::::add 9 (0.1%) 1 (0.2%) core::ptr::const_ptr::::is_null 9 (0.1%) 1 (0.2%) core::ptr::const_ptr::::wrapping_add 9 (0.1%) 1 (0.2%) core::ptr::mut_ptr::::add 9 (0.1%) 1 (0.2%) std::thread::local::lazy::LazyKeyInner::get 9 (0.1%) 1 (0.2%) std::thread::local::lazy::LazyKeyInner::take 8 (0.1%) 1 (0.2%) ::drop 8 (0.1%) 1 (0.2%) core::alloc::layout::Layout::align 8 (0.1%) 1 (0.2%) core::slice::::as_ptr 7 (0.1%) 1 (0.2%) core::cell::Cell::get 7 (0.1%) 1 (0.2%) core::iter::traits::iterator::Iterator::for_each::call 7 (0.1%) 1 (0.2%) core::mem::manually_drop::ManuallyDrop::take 7 (0.1%) 1 (0.2%) core::num::nonzero::NonZeroUsize::new_unchecked 7 (0.1%) 1 (0.2%) core::option::Option::is_none 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place> 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place> 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place>::from>> 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place::enter<(),proc_macro::bridge::client::run_client<(proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::TokenStream),proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::Client proc_macro::TokenStream>::expand2::run proc_macro::TokenStream>::{{closure}}>::{{closure}}::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place> 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place 7 (0.1%) 1 (0.2%) core::ptr::drop_in_place::enter<(),proc_macro::bridge::client::run_client<(proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::TokenStream),proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::Client proc_macro::TokenStream>::expand2::run proc_macro::TokenStream>::{{closure}}>::{{closure}}::{{closure}}>::{{closure}}::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.2%) core::slice::raw::debug_check_data_len 6 (0.0%) 1 (0.2%) as core::default::Default>::default 6 (0.0%) 1 (0.2%) as core::ops::deref::DerefMut>::deref_mut 6 (0.0%) 1 (0.2%) __rust_try 6 (0.0%) 1 (0.2%) core::alloc::layout::Layout::size 6 (0.0%) 1 (0.2%) core::mem::needs_drop 6 (0.0%) 1 (0.2%) core::ptr::drop_in_place> 6 (0.0%) 1 (0.2%) core::ptr::drop_in_place 6 (0.0%) 1 (0.2%) proc_macro::bridge::buffer::Buffer::clear 6 (0.0%) 1 (0.2%) proc_macro::bridge::buffer::Buffer::take 6 (0.0%) 1 (0.2%) proc_macro::bridge::client::BRIDGE_STATE::__init 6 (0.0%) 1 (0.2%) syn::lit::LitStr::parse 5 (0.0%) 1 (0.2%) as core::ops::deref::Deref>::deref 5 (0.0%) 1 (0.2%) core::ptr::const_ptr::::cast 5 (0.0%) 1 (0.2%) proc_macro::bridge::client::run_client< 4 (0.0%) 1 (0.2%) core::num::::from_le 4 (0.0%) 1 (0.2%) core::num::::to_le 4 (0.0%) 1 (0.2%) core::num::::to_le 4 (0.0%) 1 (0.2%) core::num::nonzero::NonZeroU32::get 4 (0.0%) 1 (0.2%) core::num::nonzero::NonZeroUsize::get 4 (0.0%) 1 (0.2%) core::ptr::drop_in_place 4 (0.0%) 1 (0.2%) core::ptr::drop_in_place::enter<(),proc_macro::bridge::client::run_client<(proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::TokenStream),proc_macro::bridge::client::TokenStream,proc_macro::bridge::client::Client proc_macro::TokenStream>::expand2::run proc_macro::TokenStream>::{{closure}}>::{{closure}}::{{closure}}>::{{closure}}>::{{closure}}> 4 (0.0%) 1 (0.2%) core::ptr::drop_in_place 4 (0.0%) 1 (0.2%) std::panicking::panicking 3 (0.0%) 1 (0.2%) >::from 3 (0.0%) 1 (0.2%) proc_macro::bridge::client::BRIDGE_STATE::__getit 3 (0.0%) 1 (0.2%) std::thread::panicking 2 (0.0%) 2 (0.5%) core::mem::size_of 1 (0.0%) 1 (0.2%) core::hint::unreachable_unchecked 1 (0.0%) 1 (0.2%) core::mem::align_of 1 (0.0%) 1 (0.2%) core::ptr::null