Lines Copies Function name ----- ------ ------------- 8872 (100%) 347 (100%) (TOTAL) 371 (4.2%) 1 (0.3%) whoami::unix::distro 295 (3.3%) 8 (2.3%) as core::ops::try_trait::Try>::branch 270 (3.0%) 1 (0.3%) whoami::unix::devicename 241 (2.7%) 1 (0.3%) core::char::methods::encode_utf8_raw 232 (2.6%) 4 (1.2%) core::result::Result::map_err 226 (2.5%) 1 (0.3%) ::next_match 216 (2.4%) 1 (0.3%) whoami::unix::getpwuid 177 (2.0%) 1 (0.3%) whoami::unix::fancy_fallback 170 (1.9%) 1 (0.3%) ::fmt 164 (1.8%) 1 (0.3%) ::next 157 (1.8%) 1 (0.3%) alloc::alloc::Global::grow_impl 154 (1.7%) 1 (0.3%) alloc::raw_vec::finish_grow 142 (1.6%) 1 (0.3%) whoami::unix::fancy_fallback_os 140 (1.6%) 5 (1.4%) as core::ops::try_trait::Try>::branch 140 (1.6%) 1 (0.3%) ::fmt 140 (1.6%) 1 (0.3%) alloc::raw_vec::RawVec::allocate_in 139 (1.6%) 1 (0.3%) alloc::raw_vec::RawVec::grow_amortized 136 (1.5%) 3 (0.9%) core::option::Option::map 128 (1.4%) 1 (0.3%) ::fmt 126 (1.4%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::position 125 (1.4%) 7 (2.0%) as core::ops::try_trait::FromResidual>>::from_residual 124 (1.4%) 2 (0.6%) alloc::alloc::box_free 105 (1.2%) 3 (0.9%) core::option::Option::ok_or 101 (1.1%) 1 (0.3%) core::str::validations::next_code_point_reverse 99 (1.1%) 1 (0.3%) core::str::::trim_matches 98 (1.1%) 1 (0.3%) ::fmt 96 (1.1%) 1 (0.3%) core::str::validations::next_code_point 93 (1.0%) 3 (0.9%) core::fmt::ArgumentV1::new 93 (1.0%) 1 (0.3%) whoami::unix::string_from_os 92 (1.0%) 1 (0.3%) ::next_back 92 (1.0%) 1 (0.3%) ::next 89 (1.0%) 1 (0.3%) alloc::alloc::Global::alloc_impl 82 (0.9%) 1 (0.3%) core::str::iter::SplitInternal

::get_end 76 (0.9%) 1 (0.3%) core::cmp::max_by 73 (0.8%) 1 (0.3%) core::str::iter::SplitInternal

::next 71 (0.8%) 1 (0.3%) core::ptr::swap_nonoverlapping_bytes 58 (0.7%) 1 (0.3%) as core::cmp::PartialEq>::eq 58 (0.7%) 1 (0.3%) alloc::raw_vec::RawVec::current_memory 57 (0.6%) 1 (0.3%) core::str::::split 56 (0.6%) 1 (0.3%) core::ptr::swap_nonoverlapping_one 54 (0.6%) 1 (0.3%) core::slice::iter::Iter::make_slice 52 (0.6%) 1 (0.3%) whoami::unix::hostname_os 51 (0.6%) 1 (0.3%) alloc::vec::Vec::push 51 (0.6%) 1 (0.3%) core::alloc::layout::Layout::array 50 (0.6%) 1 (0.3%) core::fmt::Arguments::new_v1 49 (0.6%) 1 (0.3%) ::to_vec 47 (0.5%) 1 (0.3%) core::option::Option::unwrap_unchecked 47 (0.5%) 1 (0.3%) core::str::pattern::ReverseSearcher::next_reject_back 47 (0.5%) 1 (0.3%) core::str::pattern::Searcher::next_reject 43 (0.5%) 1 (0.3%) ::clone 43 (0.5%) 1 (0.3%) core::ptr::drop_in_place> 42 (0.5%) 1 (0.3%) ::into_searcher 42 (0.5%) 1 (0.3%) core::char::methods::::to_uppercase 40 (0.5%) 1 (0.3%) as core::iter::traits::double_ended::DoubleEndedIterator>::next_back 40 (0.5%) 1 (0.3%) as core::iter::traits::exact_size::ExactSizeIterator>::len 40 (0.5%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::next 40 (0.5%) 1 (0.3%) whoami::unix::strlen_gecos 39 (0.4%) 1 (0.3%) alloc::raw_vec::handle_reserve 39 (0.4%) 1 (0.3%) core::result::Result::ok 39 (0.4%) 1 (0.3%) core::slice::iter::Iter::new 38 (0.4%) 1 (0.3%) core::slice::iter::Iter::post_inc_start 38 (0.4%) 1 (0.3%) whoami::unix::os_from_cstring_gecos 36 (0.4%) 2 (0.6%) alloc::raw_vec::finish_grow::{{closure}} 36 (0.4%) 1 (0.3%) core::slice::memchr::memchr 35 (0.4%) 1 (0.3%) as core::ops::deref::Deref>::deref 35 (0.4%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::get 35 (0.4%) 1 (0.3%) alloc::raw_vec::RawVec::new_in 35 (0.4%) 1 (0.3%) core::slice::iter::Iter::pre_dec_end 34 (0.4%) 1 (0.3%) core::num::::overflowing_add 34 (0.4%) 1 (0.3%) core::num::::overflowing_mul 32 (0.4%) 1 (0.3%) alloc::string::String::push 32 (0.4%) 1 (0.3%) core::num::::checked_add 32 (0.4%) 1 (0.3%) core::num::::checked_mul 32 (0.4%) 1 (0.3%) std::fs::read_to_string 31 (0.3%) 3 (0.9%) core::mem::maybe_uninit::MaybeUninit::assume_init 31 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 31 (0.3%) 1 (0.3%) core::ptr::metadata::from_raw_parts 31 (0.3%) 1 (0.3%) core::ptr::metadata::from_raw_parts_mut 30 (0.3%) 1 (0.3%) whoami::unix::os_from_cstring 29 (0.3%) 1 (0.3%) as core::ops::drop::Drop>::drop 29 (0.3%) 1 (0.3%) alloc::raw_vec::alloc_guard 28 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 25 (0.3%) 1 (0.3%) whoami::unix::strlen 24 (0.3%) 3 (0.9%) ::into_iter 23 (0.3%) 1 (0.3%) core::ptr::read 23 (0.3%) 1 (0.3%) std::sys::unix::os_str::Buf::as_slice 22 (0.2%) 2 (0.6%) core::cmp::impls:: for &A>::eq 21 (0.2%) 3 (0.9%) >::into 20 (0.2%) 1 (0.3%) <[A] as core::slice::cmp::SlicePartialEq>::equal 20 (0.2%) 1 (0.3%) ::deallocate 20 (0.2%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index_mut 20 (0.2%) 1 (0.3%) >::from 20 (0.2%) 1 (0.3%) ::from_vec 20 (0.2%) 1 (0.3%) core::str::::chars 19 (0.2%) 3 (0.9%) core::ptr::unique::Unique::cast 19 (0.2%) 1 (0.3%) core::char::methods::len_utf8 19 (0.2%) 1 (0.3%) core::str::traits::::eq 19 (0.2%) 1 (0.3%) std::ffi::os_str::OsString::into_string 18 (0.2%) 1 (0.3%) alloc::vec::Vec::append_elements 18 (0.2%) 1 (0.3%) core::cmp::impls::::cmp 18 (0.2%) 1 (0.3%) std::sys::unix::os_str::Slice::from_u8_slice 17 (0.2%) 2 (0.6%) core::ptr::non_null::NonNull::new_unchecked 17 (0.2%) 1 (0.3%) core::str::::as_bytes 17 (0.2%) 1 (0.3%) core::str::converts::from_utf8_unchecked 16 (0.2%) 3 (0.9%) as core::ops::try_trait::FromResidual>::from_residual 15 (0.2%) 2 (0.6%) core::ptr::unique::Unique::as_ref 15 (0.2%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index 15 (0.2%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index_mut 14 (0.2%) 6 (1.7%) core::mem::maybe_uninit::MaybeUninit::uninit 14 (0.2%) 2 (0.6%) core::slice::index:: for [T]>::index_mut 14 (0.2%) 1 (0.3%) alloc::str::::to_owned 14 (0.2%) 1 (0.3%) core::alloc::layout::Layout::from_size_align_unchecked 14 (0.2%) 1 (0.3%) core::ptr::non_null::NonNull::new 14 (0.2%) 1 (0.3%) core::slice::::len 13 (0.1%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::get_unchecked 13 (0.1%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::get_unchecked_mut 13 (0.1%) 1 (0.3%) >::from_inner 13 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::capacity 13 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::with_capacity_in 13 (0.1%) 1 (0.3%) alloc::string::String::from_utf8_unchecked 13 (0.1%) 1 (0.3%) core::char::methods::::encode_utf8 13 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 13 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull<[T]>::slice_from_raw_parts 13 (0.1%) 1 (0.3%) core::str::traits:: for core::ops::range::Range>::get_unchecked 13 (0.1%) 1 (0.3%) std::ffi::os_str::OsStr::to_str 13 (0.1%) 1 (0.3%) std::ffi::os_str::OsString::into_string::{{closure}} 12 (0.1%) 3 (0.9%) core::mem::manually_drop::ManuallyDrop::into_inner 12 (0.1%) 1 (0.3%) >::from 12 (0.1%) 1 (0.3%) ::deref 12 (0.1%) 1 (0.3%) >::index 12 (0.1%) 1 (0.3%) as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter>>::spec_extend 12 (0.1%) 1 (0.3%) >::index 12 (0.1%) 1 (0.3%) alloc::alloc::alloc 12 (0.1%) 1 (0.3%) alloc::alloc::alloc_zeroed 12 (0.1%) 1 (0.3%) alloc::alloc::dealloc 12 (0.1%) 1 (0.3%) alloc::alloc::realloc 12 (0.1%) 1 (0.3%) alloc::raw_vec::handle_reserve::{{closure}} 12 (0.1%) 1 (0.3%) alloc::string::String::new 12 (0.1%) 1 (0.3%) alloc::vec::Vec::with_capacity_in 12 (0.1%) 1 (0.3%) core::ops::function::FnOnce::call_once 11 (0.1%) 6 (1.7%) core::mem::maybe_uninit::MaybeUninit::as_mut_ptr 11 (0.1%) 2 (0.6%) core::ptr::mut_ptr::::is_null 11 (0.1%) 1 (0.3%) <&T as core::convert::AsRef>::as_ref 11 (0.1%) 1 (0.3%) as alloc::string::ToString>::to_string 11 (0.1%) 1 (0.3%) as core::ops::deref::Deref>::deref 11 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::set_ptr_and_cap 11 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 11 (0.1%) 1 (0.3%) std::ffi::os_str:: for str>::as_ref 11 (0.1%) 1 (0.3%) std::sys::unix::os_str::Slice::from_str 11 (0.1%) 1 (0.3%) whoami::unix::distro_os::{{closure}} 10 (0.1%) 2 (0.6%) core::ptr::const_ptr::::is_null 10 (0.1%) 1 (0.3%) as core::ops::drop::Drop>::drop 10 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::reserve::do_reserve_and_handle 10 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::reserve_for_push 10 (0.1%) 1 (0.3%) alloc::vec::Vec::new 10 (0.1%) 1 (0.3%) core::mem::size_of_val 10 (0.1%) 1 (0.3%) core::ptr::const_ptr::::guaranteed_eq 10 (0.1%) 1 (0.3%) core::ptr::const_ptr::::offset 10 (0.1%) 1 (0.3%) core::ptr::const_ptr::::wrapping_offset 10 (0.1%) 1 (0.3%) core::ptr::drop_in_place 10 (0.1%) 1 (0.3%) core::ptr::mut_ptr::::guaranteed_eq 10 (0.1%) 1 (0.3%) core::ptr::mut_ptr::::offset 10 (0.1%) 1 (0.3%) whoami::unix::devicename_os 10 (0.1%) 1 (0.3%) whoami::unix::distro_os 10 (0.1%) 1 (0.3%) whoami::unix::hostname 10 (0.1%) 1 (0.3%) whoami::unix::realname 10 (0.1%) 1 (0.3%) whoami::unix::username 9 (0.1%) 1 (0.3%) alloc::vec::Vec::as_mut_ptr 9 (0.1%) 1 (0.3%) alloc::vec::Vec::as_ptr 9 (0.1%) 1 (0.3%) core::char::convert::from_u32_unchecked 9 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 9 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 9 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull<[T]>::as_non_null_ptr 9 (0.1%) 1 (0.3%) core::ptr::slice_from_raw_parts 9 (0.1%) 1 (0.3%) core::ptr::slice_from_raw_parts_mut 9 (0.1%) 1 (0.3%) core::ptr::swap_nonoverlapping 9 (0.1%) 1 (0.3%) core::slice::raw::from_raw_parts 9 (0.1%) 1 (0.3%) std::ffi::os_str::OsStr::to_string_lossy 8 (0.1%) 3 (0.9%) core::ptr::unique::Unique::as_ptr 8 (0.1%) 2 (0.6%) core::intrinsics::copy_nonoverlapping 8 (0.1%) 2 (0.6%) core::ptr::write 8 (0.1%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::next 8 (0.1%) 1 (0.3%) ::haystack 8 (0.1%) 1 (0.3%) alloc::string::String::push_str 8 (0.1%) 1 (0.3%) core::array:: for [T; N]>::index 8 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull::cast 8 (0.1%) 1 (0.3%) std::path::Path::new 7 (0.1%) 1 (0.3%) <&T as core::fmt::Display>::fmt 7 (0.1%) 1 (0.3%) ::allocate 7 (0.1%) 1 (0.3%) ::allocate_zeroed 7 (0.1%) 1 (0.3%) ::grow 7 (0.1%) 1 (0.3%) ::fmt 7 (0.1%) 1 (0.3%) ::clone 7 (0.1%) 1 (0.3%) ::next_back 7 (0.1%) 1 (0.3%) ::next 7 (0.1%) 1 (0.3%) ::deref 7 (0.1%) 1 (0.3%) alloc::collections::TryReserveError::kind 7 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::reserve 7 (0.1%) 1 (0.3%) alloc::str:: for alloc::string::String>::borrow 7 (0.1%) 1 (0.3%) alloc::vec::Vec::extend_from_slice 7 (0.1%) 1 (0.3%) core::slice::::get 7 (0.1%) 1 (0.3%) core::slice::::iter 7 (0.1%) 1 (0.3%) core::slice::index:: for [T]>::index 7 (0.1%) 1 (0.3%) core::slice::iter::Iter::as_slice 7 (0.1%) 1 (0.3%) core::str::::get_unchecked 7 (0.1%) 1 (0.3%) core::str::traits:: for str>::index 7 (0.1%) 1 (0.3%) core::str::validations::utf8_first_byte 7 (0.1%) 1 (0.3%) std::path:: for str>::as_ref 6 (0.1%) 4 (1.2%) >::from 6 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::needs_to_grow 6 (0.1%) 1 (0.3%) alloc::vec::Vec::reserve 6 (0.1%) 1 (0.3%) core::alloc::layout::Layout::dangling 6 (0.1%) 1 (0.3%) core::ptr::drop_in_place 6 (0.1%) 1 (0.3%) core::ptr::unique::Unique::dangling 6 (0.1%) 1 (0.3%) core::str::validations::utf8_acc_cont_byte 5 (0.1%) 2 (0.6%) core::ptr::non_null::NonNull::as_ptr 5 (0.1%) 1 (0.3%) as core::convert::From>>::from 5 (0.1%) 1 (0.3%) >::get_unchecked 5 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::ptr 5 (0.1%) 1 (0.3%) alloc::string::String::into_bytes 5 (0.1%) 1 (0.3%) core::alloc::layout::Layout::align 5 (0.1%) 1 (0.3%) core::char::methods::::len_utf8 5 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull<[T]>::as_mut_ptr 5 (0.1%) 1 (0.3%) core::slice::memchr::memchr::{{closure}} 5 (0.1%) 1 (0.3%) core::str::::len 4 (0.0%) 1 (0.3%) <&T as core::fmt::Debug>::fmt 4 (0.0%) 1 (0.3%) core::intrinsics::write_bytes 4 (0.0%) 1 (0.3%) core::num::nonzero::NonZeroUsize::new_unchecked 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place 4 (0.0%) 1 (0.3%) core::ptr::unique::Unique::new_unchecked 4 (0.0%) 1 (0.3%) std::ffi::os_str::OsStr::from_inner 3 (0.0%) 3 (0.9%) core::mem::size_of 3 (0.0%) 2 (0.6%) core::ptr::const_ptr::::cast 3 (0.0%) 1 (0.3%) >::from 3 (0.0%) 1 (0.3%) >::index_mut 3 (0.0%) 1 (0.3%) ::next_back::{{closure}} 3 (0.0%) 1 (0.3%) ::next::{{closure}} 3 (0.0%) 1 (0.3%) ::to_string 3 (0.0%) 1 (0.3%) alloc::slice::::to_vec 3 (0.0%) 1 (0.3%) alloc::slice::::to_vec_in 3 (0.0%) 1 (0.3%) alloc::slice::::to_owned 3 (0.0%) 1 (0.3%) alloc::slice::hack::to_vec 3 (0.0%) 1 (0.3%) alloc::vec::Vec::len 3 (0.0%) 1 (0.3%) alloc::vec::Vec::set_len 3 (0.0%) 1 (0.3%) alloc::vec::Vec::with_capacity 3 (0.0%) 1 (0.3%) core::alloc::layout::Layout::size 3 (0.0%) 1 (0.3%) core::cmp::Ord::max 3 (0.0%) 1 (0.3%) core::cmp::max 3 (0.0%) 1 (0.3%) core::mem::swap 3 (0.0%) 1 (0.3%) core::ptr::const_ptr::::add 3 (0.0%) 1 (0.3%) core::ptr::const_ptr::::copy_to_nonoverlapping 3 (0.0%) 1 (0.3%) core::ptr::const_ptr::::wrapping_add 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place> 3 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::add 3 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::write_bytes 3 (0.0%) 1 (0.3%) core::slice::::get_unchecked 3 (0.0%) 1 (0.3%) core::slice::cmp:: for [A]>::eq 3 (0.0%) 1 (0.3%) core::slice::iter::size_from_ptr 3 (0.0%) 1 (0.3%) core::str::converts::from_utf8_unchecked_mut 3 (0.0%) 1 (0.3%) core::str::traits:: for core::ops::range::RangeFull>::index 3 (0.0%) 1 (0.3%) whoami::unix::realname_os 3 (0.0%) 1 (0.3%) whoami::unix::username_os 2 (0.0%) 1 (0.3%) core::num::::wrapping_sub 2 (0.0%) 1 (0.3%) core::ptr::const_ptr::::as_ptr 2 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::cast 2 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::as_mut_ptr 2 (0.0%) 1 (0.3%) core::slice::::as_ptr 2 (0.0%) 1 (0.3%) core::str::validations::utf8_is_cont_byte 1 (0.0%) 1 (0.3%) core::clone::Clone::clone 1 (0.0%) 1 (0.3%) core::hint::unreachable_unchecked 1 (0.0%) 1 (0.3%) core::mem::align_of 1 (0.0%) 1 (0.3%) core::num::nonzero::NonZeroUsize::get 1 (0.0%) 1 (0.3%) core::ptr::drop_in_place<&alloc::string::String> 1 (0.0%) 1 (0.3%) core::ptr::null 1 (0.0%) 1 (0.3%) core::ptr::null_mut 1 (0.0%) 1 (0.3%) core::slice::raw::debug_check_data_len