Lines Copies Function name ----- ------ ------------- 9536 (100%) 370 (100%) (TOTAL) 844 (8.9%) 1 (0.3%) rpassword::unix::read_password_from_stdin 501 (5.3%) 11 (3.0%) as core::ops::try_trait::Try>::branch 370 (3.9%) 2 (0.5%) std::io::read_until 329 (3.5%) 10 (2.7%) as core::ops::try_trait::FromResidual>>::from_residual 264 (2.8%) 2 (0.5%) std::io::append_to_string 241 (2.5%) 1 (0.3%) core::char::methods::encode_utf8_raw 237 (2.5%) 1 (0.3%) rpassword::unix::display_on_tty 187 (2.0%) 3 (0.8%) alloc::alloc::box_free 186 (2.0%) 1 (0.3%) std::io::Write::write_all 178 (1.9%) 1 (0.3%) rpassword::prompt_password_stderr 178 (1.9%) 1 (0.3%) rpassword::prompt_password_stdout 165 (1.7%) 1 (0.3%) rpassword::mock::read_password_with_reader 157 (1.6%) 1 (0.3%) alloc::alloc::Global::grow_impl 154 (1.6%) 1 (0.3%) alloc::raw_vec::finish_grow 149 (1.6%) 3 (0.8%) core::result::Result::map_err 140 (1.5%) 1 (0.3%) alloc::raw_vec::RawVec::allocate_in 139 (1.5%) 1 (0.3%) alloc::raw_vec::RawVec::grow_amortized 117 (1.2%) 1 (0.3%) as std::io::BufRead>::fill_buf 114 (1.2%) 1 (0.3%) std::io::Write::write_fmt 106 (1.1%) 2 (0.5%) core::result::Result::and_then 105 (1.1%) 3 (0.8%) core::option::Option::ok_or 104 (1.1%) 1 (0.3%) rpassword::unix::safe_tcgetattr 101 (1.1%) 1 (0.3%) core::str::validations::next_code_point_reverse 96 (1.0%) 1 (0.3%) as core::fmt::Write>::write_str 93 (1.0%) 3 (0.8%) core::fmt::ArgumentV1::new 89 (0.9%) 1 (0.3%) alloc::alloc::Global::alloc_impl 87 (0.9%) 1 (0.3%) rpassword::read_password_from_tty 76 (0.8%) 1 (0.3%) core::cmp::max_by 76 (0.8%) 1 (0.3%) core::cmp::min_by 64 (0.7%) 2 (0.5%) std::fs::OpenOptions::open 62 (0.7%) 2 (0.5%) core::ptr::metadata::from_raw_parts 62 (0.7%) 2 (0.5%) core::ptr::metadata::from_raw_parts_mut 61 (0.6%) 1 (0.3%) rpassword::zero_on_drop::Inner::zero_memory 59 (0.6%) 1 (0.3%) alloc::raw_vec::RawVec::into_box 58 (0.6%) 2 (0.5%) std::io::append_to_string::{{closure}} 58 (0.6%) 1 (0.3%) alloc::raw_vec::RawVec::current_memory 57 (0.6%) 1 (0.3%) core::slice::::ends_with 56 (0.6%) 1 (0.3%) alloc::string::String::pop 54 (0.6%) 1 (0.3%) core::slice::iter::Iter::make_slice 52 (0.5%) 1 (0.3%) core::mem::replace 51 (0.5%) 1 (0.3%) core::alloc::layout::Layout::array 50 (0.5%) 1 (0.3%) core::fmt::Arguments::new_v1 48 (0.5%) 1 (0.3%) std::fs::File::open 47 (0.5%) 1 (0.3%) core::option::Option::unwrap_unchecked 43 (0.5%) 1 (0.3%) ::clone 43 (0.5%) 1 (0.3%) core::ptr::drop_in_place> 42 (0.4%) 1 (0.3%) std::io::buffered::bufreader::BufReader::with_capacity 40 (0.4%) 1 (0.3%) as core::iter::traits::double_ended::DoubleEndedIterator>::next_back 40 (0.4%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::next 39 (0.4%) 1 (0.3%) alloc::raw_vec::handle_reserve 39 (0.4%) 1 (0.3%) core::slice::iter::Iter::new 39 (0.4%) 1 (0.3%) core::slice::iter::IterMut::new 38 (0.4%) 1 (0.3%) alloc::boxed::Box::from_raw_in 38 (0.4%) 1 (0.3%) core::option::Option::map 38 (0.4%) 1 (0.3%) core::slice::iter::IterMut::post_inc_start 38 (0.4%) 1 (0.3%) std::io::error::Error::kind 37 (0.4%) 1 (0.3%) as core::ops::index::Index>::index 36 (0.4%) 2 (0.5%) alloc::raw_vec::finish_grow::{{closure}} 35 (0.4%) 2 (0.5%) as core::ops::try_trait::Try>::branch 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%) 2 (0.5%) core::ptr::read 34 (0.4%) 1 (0.3%) core::num::::overflowing_add 34 (0.4%) 1 (0.3%) core::num::::overflowing_mul 34 (0.4%) 1 (0.3%) rpassword::zero_on_drop::ZeroOnDrop::into_inner 33 (0.3%) 1 (0.3%) std::io::buffered::bufreader::BufReader::buffer 32 (0.3%) 1 (0.3%) core::num::::checked_add 32 (0.3%) 1 (0.3%) core::num::::checked_mul 32 (0.3%) 1 (0.3%) core::ops::range::RangeInclusive::into_slice_range 31 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 31 (0.3%) 1 (0.3%) rpassword::unix::io_result 30 (0.3%) 3 (0.8%) core::mem::maybe_uninit::MaybeUninit::assume_init 30 (0.3%) 2 (0.5%) as core::slice::index::SliceIndex<[T]>>::index 29 (0.3%) 1 (0.3%) as core::ops::drop::Drop>::drop 29 (0.3%) 1 (0.3%) alloc::raw_vec::alloc_guard 29 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 29 (0.3%) 1 (0.3%) rpassword::fixes_newline 28 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 28 (0.3%) 1 (0.3%) core::ptr::drop_in_place 27 (0.3%) 4 (1.1%) core::ptr::unique::Unique::cast 27 (0.3%) 2 (0.5%) core::result::Result::is_ok 26 (0.3%) 3 (0.8%) core::ptr::unique::Unique::as_ref 26 (0.3%) 2 (0.5%) as core::slice::index::SliceIndex<[T]>>::get_unchecked 26 (0.3%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index 26 (0.3%) 1 (0.3%) core::ptr::drop_in_place]>> 23 (0.2%) 1 (0.3%) core::sync::atomic::compiler_fence 23 (0.2%) 1 (0.3%) core::sync::atomic::fence 22 (0.2%) 4 (1.1%) >::from 22 (0.2%) 2 (0.5%) <&T as core::convert::AsRef>::as_ref 22 (0.2%) 2 (0.5%) std::io::BufRead::read_line 22 (0.2%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::get_unchecked 21 (0.2%) 3 (0.8%) core::slice::index:: for [T]>::index 21 (0.2%) 1 (0.3%) rpassword::zero_on_drop::ZeroOnDrop::new 21 (0.2%) 1 (0.3%) std::io::error::Error::new_const 20 (0.2%) 2 (0.5%) core::ptr::const_ptr::::offset 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%) core::str::::chars 19 (0.2%) 1 (0.3%) core::char::methods::len_utf8 18 (0.2%) 2 (0.5%) core::ptr::slice_from_raw_parts 18 (0.2%) 2 (0.5%) core::ptr::slice_from_raw_parts_mut 18 (0.2%) 2 (0.5%) core::slice::raw::from_raw_parts_mut 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::io::error::Error::from_raw_os_error 18 (0.2%) 1 (0.3%) std::sys::unix::os_str::Slice::from_u8_slice 17 (0.2%) 2 (0.5%) core::ptr::non_null::NonNull::new_unchecked 17 (0.2%) 2 (0.5%) core::ptr::unique::Unique::new_unchecked 17 (0.2%) 1 (0.3%) core::str::::as_bytes 17 (0.2%) 1 (0.3%) core::str::converts::from_utf8_unchecked 17 (0.2%) 1 (0.3%) std::io::error::Error::last_os_error 15 (0.2%) 1 (0.3%) ::is_suffix_of 15 (0.2%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index_mut 15 (0.2%) 1 (0.3%) core::fmt::Write::write_char 14 (0.1%) 2 (0.5%) as core::ops::try_trait::FromResidual>::from_residual 14 (0.1%) 2 (0.5%) core::slice::index:: for [T]>::index_mut 14 (0.1%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index 14 (0.1%) 1 (0.3%) ::eq 14 (0.1%) 1 (0.3%) core::alloc::layout::Layout::from_size_align_unchecked 14 (0.1%) 1 (0.3%) core::fmt::Write::write_fmt 14 (0.1%) 1 (0.3%) core::ptr::metadata::metadata 14 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull::new 13 (0.1%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::get_unchecked_mut 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%) core::char::methods::::encode_utf8 13 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull<[T]>::slice_from_raw_parts 12 (0.1%) 4 (1.1%) core::ptr::unique::Unique::as_ptr 12 (0.1%) 1 (0.3%) <&mut W as core::fmt::Write>::write_fmt 12 (0.1%) 1 (0.3%) >::from 12 (0.1%) 1 (0.3%) ::deref 12 (0.1%) 1 (0.3%) ::deref_mut 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%) 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%) core::iter::adapters::rev::Rev::new 12 (0.1%) 1 (0.3%) core::mem::manually_drop::ManuallyDrop::new 12 (0.1%) 1 (0.3%) core::ops::function::FnOnce::call_once 12 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 11 (0.1%) 3 (0.8%) core::mem::manually_drop::ManuallyDrop::into_inner 11 (0.1%) 1 (0.3%) <&str as core::str::pattern::Pattern>::is_suffix_of 11 (0.1%) 1 (0.3%) as core::ops::deref::Deref>::deref 11 (0.1%) 1 (0.3%) as core::ops::deref::DerefMut>::deref_mut 11 (0.1%) 1 (0.3%) as core::slice::index::SliceIndex<[T]>>::index 11 (0.1%) 1 (0.3%) as std::io::BufRead>::consume 11 (0.1%) 1 (0.3%) alloc::boxed::Box<[T]>::new_uninit_slice 11 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::set_ptr_and_cap 11 (0.1%) 1 (0.3%) core::cmp::impls:: for &A>::eq 11 (0.1%) 1 (0.3%) rpassword::mock::read_password 11 (0.1%) 1 (0.3%) std::ffi::os_str:: for str>::as_ref 11 (0.1%) 1 (0.3%) std::io::readbuf::ReadBuf::assume_init 11 (0.1%) 1 (0.3%) std::sys::unix::os_str::Slice::from_str 10 (0.1%) 2 (0.5%) >::into 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::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::::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%) core::ptr::mut_ptr::::wrapping_offset 10 (0.1%) 1 (0.3%) std::io::readbuf::ReadBuf::uninit 9 (0.1%) 1 (0.3%) ::fill_buf 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::slice::raw::from_raw_parts 8 (0.1%) 2 (0.5%) core::result::Result::is_err 8 (0.1%) 2 (0.5%) std::io::BufRead::read_line::{{closure}} 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%) 3 (0.8%) core::mem::maybe_uninit::MaybeUninit::uninit 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%) ::clone 7 (0.1%) 1 (0.3%) ::next_back 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::raw_vec::RawVec::with_capacity 7 (0.1%) 1 (0.3%) alloc::vec::Vec::extend_from_slice 7 (0.1%) 1 (0.3%) core::iter::traits::iterator::Iterator::rev 7 (0.1%) 1 (0.3%) core::ops::range::RangeInclusive::new 7 (0.1%) 1 (0.3%) core::slice::::iter 7 (0.1%) 1 (0.3%) core::slice::::iter_mut 7 (0.1%) 1 (0.3%) core::slice::iter::::into_iter 7 (0.1%) 1 (0.3%) core::slice::iter::Iter::as_slice 7 (0.1%) 1 (0.3%) core::str::validations::utf8_first_byte 7 (0.1%) 1 (0.3%) std::path:: for str>::as_ref 7 (0.1%) 1 (0.3%) std::sys_common::memchr::memchr 6 (0.1%) 3 (0.8%) core::mem::maybe_uninit::MaybeUninit::as_mut_ptr 6 (0.1%) 2 (0.5%) core::ptr::const_ptr::::add 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.5%) core::ptr::non_null::NonNull::as_ptr 5 (0.1%) 1 (0.3%) as core::convert::From>>::from 5 (0.1%) 1 (0.3%) ::as_raw_fd 5 (0.1%) 1 (0.3%) alloc::raw_vec::RawVec::ptr 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::const_ptr::::is_null 5 (0.1%) 1 (0.3%) core::ptr::mut_ptr::::is_null 5 (0.1%) 1 (0.3%) core::ptr::non_null::NonNull<[T]>::as_mut_ptr 4 (0.0%) 2 (0.5%) core::ptr::const_ptr::::cast 4 (0.0%) 2 (0.5%) core::ptr::const_ptr::::as_ptr 4 (0.0%) 2 (0.5%) core::ptr::mut_ptr::::cast 4 (0.0%) 1 (0.3%) <&mut W as core::fmt::Write>::write_char 4 (0.0%) 1 (0.3%) <&mut W as core::fmt::Write>::write_str 4 (0.0%) 1 (0.3%) ::drop 4 (0.0%) 1 (0.3%) alloc::string::String::len 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::write 4 (0.0%) 1 (0.3%) std::ffi::os_str::OsStr::from_inner 3 (0.0%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::next 3 (0.0%) 1 (0.3%) >::index_mut 3 (0.0%) 1 (0.3%) ::next_back::{{closure}} 3 (0.0%) 1 (0.3%) ::drop 3 (0.0%) 1 (0.3%) ::deref 3 (0.0%) 1 (0.3%) ::deref_mut 3 (0.0%) 1 (0.3%) >::as_ref 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%) core::alloc::layout::Layout::size 3 (0.0%) 1 (0.3%) core::cmp::Ord::max 3 (0.0%) 1 (0.3%) core::cmp::Ord::min 3 (0.0%) 1 (0.3%) core::cmp::max 3 (0.0%) 1 (0.3%) core::cmp::min 3 (0.0%) 1 (0.3%) core::intrinsics::copy_nonoverlapping 3 (0.0%) 1 (0.3%) core::mem::maybe_uninit::MaybeUninit::slice_assume_init_ref 3 (0.0%) 1 (0.3%) core::ptr::const_ptr::::wrapping_add 3 (0.0%) 1 (0.3%) core::ptr::const_ptr::::len 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place> 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place 3 (0.0%) 1 (0.3%) core::ptr::drop_in_place 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::::wrapping_add 3 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::write_bytes 3 (0.0%) 1 (0.3%) core::ptr::write_volatile 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::::as_bytes_mut 3 (0.0%) 1 (0.3%) core::str::::ends_with 3 (0.0%) 1 (0.3%) core::str::converts::from_utf8_unchecked_mut 3 (0.0%) 1 (0.3%) std::io::buffered::bufreader::BufReader::new 3 (0.0%) 1 (0.3%) std::io::readbuf::ReadBuf::filled_len 3 (0.0%) 1 (0.3%) std::io::readbuf::ReadBuf::initialized_len 2 (0.0%) 2 (0.5%) core::slice::raw::debug_check_data_len 2 (0.0%) 1 (0.3%) alloc::string::String::as_mut_vec 2 (0.0%) 1 (0.3%) core::num::::wrapping_sub 2 (0.0%) 1 (0.3%) core::ops::range::RangeInclusive::end 2 (0.0%) 1 (0.3%) core::ptr::mut_ptr::::as_mut_ptr 2 (0.0%) 1 (0.3%) core::slice::::as_mut_ptr 2 (0.0%) 1 (0.3%) core::slice::::as_ptr 2 (0.0%) 1 (0.3%) core::slice::::is_empty 2 (0.0%) 1 (0.3%) core::str::validations::utf8_is_cont_byte 1 (0.0%) 1 (0.3%) as core::ops::deref::Deref>::deref 1 (0.0%) 1 (0.3%) ::consume 1 (0.0%) 1 (0.3%) ::default 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::mem::size_of 1 (0.0%) 1 (0.3%) core::num::nonzero::NonZeroUsize::get 1 (0.0%) 1 (0.3%) core::ptr::drop_in_place<&mut std::io::Write::write_fmt::Adapter> 1 (0.0%) 1 (0.3%) core::ptr::null 1 (0.0%) 1 (0.3%) core::ptr::null_mut