diff --git a/search-index.js b/search-index.js
index f3820db17..531b4c280 100644
--- a/search-index.js
+++ b/search-index.js
@@ -195,9 +195,9 @@ var searchIndex = JSON.parse('{\
"uu_users":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_users",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\
"uu_wc":{"doc":"","t":[0,5,5,7,7,7,7,7],"n":["options","uu_app","uumain","BYTES","CHAR","LINES","MAX_LINE_LENGTH","WORDS"],"q":["uu_wc","","","uu_wc::options","","","",""],"d":["","","","","","","",""],"i":[0,0,0,0,0,0,0,0],"f":[null,[[],["app",3]],[[],["i32",15]],null,null,null,null,null],"p":[]},\
"uu_who":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_who",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\
-"uu_whoami":{"doc":"","t":[5,5,5],"n":["exec","uu_app","uumain"],"q":["uu_whoami","",""],"d":["","",""],"i":[0,0,0],"f":[[[]],[[],["app",3]],[[],["i32",15]]],"p":[]},\
+"uu_whoami":{"doc":"","t":[5,5,5],"n":["exec","uu_app","uumain"],"q":["uu_whoami","",""],"d":["","",""],"i":[0,0,0],"f":[[[],["uresult",6]],[[],["app",3]],[[],["i32",15]]],"p":[]},\
"uu_yes":{"doc":"","t":[5,5,5],"n":["exec","uu_app","uumain"],"q":["uu_yes","",""],"d":["","",""],"i":[0,0,0],"f":[[[],["result",6]],[[],["app",3]],[[],["i32",15]]],"p":[]},\
-"uucore":{"doc":"","t":[8,13,4,13,13,4,13,13,11,14,5,5,0,11,11,11,11,11,11,0,14,14,0,0,0,0,5,14,11,11,11,11,0,0,5,14,11,11,0,14,14,14,14,14,14,0,0,0,0,0,0,0,0,14,14,5,14,14,14,14,14,14,0,14,14,11,11,11,11,11,11,14,5,0,0,13,7,7,4,13,4,13,13,13,13,13,0,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,7,7,7,5,5,5,3,3,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,8,3,11,11,11,11,11,11,11,11,11,11,5,10,11,11,11,11,11,13,13,13,13,13,13,13,3,13,4,6,13,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,3,8,3,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,5,5,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,12,3,8,8,3,6,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,10,12,12,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,4,13,13,13,4,11,11,11,11,5,11,11,11,11,5,5,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,8,8,3,3,3,5,10,11,12,12,12,10,10,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,10,11,10,11,11,11,11,10,11,12,10,11,11,11,11,11,10,11,12,12,12,10,11,11,11,10,5,5,5,5,12,5,3,5,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,13,4,13,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,13,13,13,3,13,13,4,13,13,13,4,13,13,13,3,4,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,12,12,12,0,11,11,11,11,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,0,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,3,8,3,5,5,5,5,10,5,5,17,17,17,17,17,17,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,8,13,4,13,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,10,11,11,11,11,11,11,11,10,3,11,11,11,5,5,11,11,11,11,11,12,11,12,11,11,11,11,11,3,11,11,12,11,11,11,11,11,11,11,11,7,7,5,5,5,17,17,17,7,17,17,17,17,17,17,17,17,17,17,17,3,3,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,5,5],"n":["Args","Complete","ConversionResult","ConvertLossy","Ignore","InvalidEncodingHandling","Lossy","Panic","accept_any","app","args","args_os","backup_control","borrow","borrow","borrow_mut","borrow_mut","collect_str","collect_str_lossy","coreopts","crash","crash_if_err","display","encoding","entries","error","execution_phrase","exit","expect_complete","expect_lossy","from","from","fs","fsext","get_utility_is_second_arg","has","into","into","mode","msg_expects_no_more_than_one_of","msg_expects_one_of","msg_invalid_input","msg_invalid_opt_use","msg_opt_invalid_should_be","msg_opt_only_usable_if","os","panic","parse_size","parse_time","perms","process","ranges","ringbuffer","safe_write","safe_writeln","set_utility_is_second_arg","show","show_error","show_error_custom_description","show_if_err","show_usage_error","show_warning","signals","snippet_list_join","snippet_list_join_oxford_comma","try_from","try_from","try_into","try_into","type_id","type_id","uio_error","util_name","utmpx","version_cmp","AmbiguousArgument","BACKUP_CONTROL_LONG_HELP","BACKUP_CONTROL_VALUES","BackupError","BackupImpossible","BackupMode","ExistingBackup","InvalidArgument","NoBackup","NumberedBackup","SimpleBackup","arguments","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","code","determine_backup_mode","determine_backup_suffix","eq","eq","fmt","fmt","fmt","from","from","get_backup_path","into","into","ne","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","usage","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","CoreOptions","HelpText","borrow","borrow","borrow_mut","borrow_mut","display_usage","from","from","into","into","long_help","name","new","optflag","optflagmulti","optflagopt","optmulti","optopt","parse","summary","syntax","try_from","try_from","try_into","try_into","type_id","type_id","usage","version","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","fmt","fmt","from","into","maybe_quote","maybe_quote","println_verbatim","quote","to_owned","to_string","try_from","try_into","type_id","Base16","Base2Lsbf","Base2Msbf","Base32","Base32Hex","Base64","Base64Url","Data","Decode","DecodeError","DecodeResult","DecodeZ85","EncodeError","Format","Io","Z85","Z85InputLenNotMultipleOf4","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","decode","decode","encode","encode","fmt","fmt","from","from","from","from","from","from","from","ignore_garbage","into","into","into","into","line_wrap","new","source","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","wrap_print","wrap_write","Group","Locate","Passwd","as_inner","as_inner","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","into_inner","into_inner","locate","locate","locate","locate","locate","name","name","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","usr2uid","0","ExitCode","FromIo","UError","UIoError","UResult","USimpleError","UUsageError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","code","code","code","code","code","code","code","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_exit_code","into","into","into","into","map_err_context","message","message","new","new","new","new","set_exit_code","strip_errno","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","usage","usage","usage","Existing","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","borrow","borrow","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","display_permissions","display_permissions_unix","eq","eq","fmt","fmt","from","from","into","into","normalize_path","resolve_relative_path","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","BirthTime","FsMeta","FsUsage","MountInfo","StatFs","StatFs","avail_blocks","avail_blocks","bavail","bavail_top_bit_set","bfree","birth","block_size","block_size","blocks","blocksize","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","dev_id","dev_name","dummy","eq","f_bavail","f_bavail","f_bfree","f_bfree","f_blocks","f_blocks","f_bsize","f_bsize","f_ffree","f_ffree","f_files","f_files","f_frsize","f_frsize","f_fsid","f_fsid","f_namelen","f_namelen","f_type","f_type","ffree","files","fmt","fmt","fmt","free_blocks","free_blocks","free_file_nodes","free_file_nodes","from","from","from","fs_type","fs_type","fs_type","fsid","fsid","hash","into","into","into","io_size","io_size","mount_dir","mount_option","mount_root","namelen","namelen","ne","new","pretty_birth","pretty_filetype","pretty_fstype","pretty_time","read_fs_list","remote","statfs","statfs_fn","statfs_fn","to_owned","to_owned","to_owned","total_blocks","total_blocks","total_file_nodes","total_file_nodes","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","get_umask","parse_mode","parse_numeric","parse_symbolic","is_wsl_1","is_wsl_2","mute_sigpipe_panic","ParseFailure","ParseSizeError","SizeTooBig","borrow","borrow_mut","description","eq","fmt","fmt","from","into","ne","parse_size","to_string","try_from","try_into","type_id","from_str","All","All","Changes","ChownExecutor","First","Group","IfFrom","None","Normal","Silent","TraverseSymlinks","User","UserGroup","Verbose","Verbosity","VerbosityLevel","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chown_base","clone","clone","clone_into","clone_into","dereference","dest_gid","dest_uid","entries","eq","eq","eq","exec","files","filter","fmt","fmt","from","from","from","from","from","groups_only","into","into","into","into","into","level","ne","options","preserve_root","recursive","to_owned","to_owned","traverse_symlinks","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","verbosity","wrap_chown","Group","Locate","Passwd","get_groups","get_groups_gnu","gid2grp","grp2gid","locate","uid2usr","usr2uid","ARG_FILES","ARG_GROUP","ARG_OWNER","FROM","RECURSIVE","REFERENCE","dereference","preserve_root","traverse","verbosity","DEREFERENCE","NO_DEREFERENCE","NO_PRESERVE","PRESERVE","EVERY","NO_TRAVERSE","TRAVERSE","CHANGES","QUIET","SILENT","VERBOSE","ChildExt","Code","ExitStatus","Signal","borrow","borrow_mut","clone","clone_into","code","eq","fmt","fmt","from","getegid","geteuid","getgid","getuid","into","ne","send_signal","signal","success","to_owned","to_string","try_from","try_into","type_id","wait_or_timeout","Range","borrow","borrow_mut","cmp","complement","contain","eq","fmt","from","from_list","from_str","high","into","low","ne","partial_cmp","try_from","try_into","type_id","RingBuffer","borrow","borrow_mut","data","from","from_iter","into","new","push_back","try_from","try_into","type_id","ALL_SIGNALS","DEFAULT_SIGNAL","is_signal","signal_by_name_or_value","signal_name_by_value","ACCOUNTING","BOOT_TIME","DEAD_PROCESS","DEFAULT_FILE","EMPTY","INIT_PROCESS","LOGIN_PROCESS","NEW_TIME","OLD_TIME","RUN_LVL","USER_PROCESS","UT_HOSTSIZE","UT_IDSIZE","UT_LINESIZE","UT_NAMESIZE","Utmpx","UtmpxIter","borrow","borrow","borrow_mut","borrow_mut","canon_host","endutxent","exit_status","from","from","getutxent","host","into","into","into_inner","into_iter","is_user_process","iter_all_records","login_time","next","pid","read_from","record_type","setutxent","terminal_suffix","try_from","try_from","try_into","try_into","tty_device","type_id","type_id","user","utmpxname","version_cmp"],"q":["uucore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::arguments","","","","","","uucore::coreopts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::mode","","","","uucore::os","","uucore::panic","uucore::parse_size","","","","","","","","","","","","","","","","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::entries","","","","","","","","","","uucore::perms::options","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::ranges","","","","","","","","","","","","","","","","","","","uucore::ringbuffer","","","","","","","","","","","","uucore::signals","","","","","uucore::utmpx","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::version_cmp"],"d":["","","","","","","","","","","","","Implement GNU-style backup functionality.","","","","","Converts each iterator item to a String and collects …","convenience function for a more slim interface","","Display the provided error message, then exit() with the …","Unwraps the Result. Instead of panicking, it exists the …","","","Get password/group file entry","All utils return exit with an exit code. Usually, the …","Derive the complete execution phrase for “usage”.","Calls exit() with the provided exit code.","","","","","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","","","Set of functions to parse modes","","","","","","","","","","","Common functions to manage permissions","Set of functions to manage IDs","","A fixed-size ring buffer.","","","","","Show an error to stderr in a similar style to GNU …","Show a warning to stderr in a similar style to GNU …","","Show a bad invocation help message in a similar style to …","","","","","","","","","","","Shorthand to construct [UIoError]-instances.","Derive the utility name.","Aims to provide platform-independent methods to obtain …","","An ambiguous argument (e.g. ‘n’) was given as backup …","","","Backup error types.","Currently unused","Available backup modes.","Argument ‘existing’, ‘nil’","An invalid argument (e.g. ‘foo’) was given as backup …","Argument ‘none’, ‘off’","Argument ‘numbered’, ‘t’","Argument ‘simple’, ‘never’","Arguments for backup-related functionality.","","","","","","","","Determine the “mode” for the backup operation to …","Obtain the suffix to use for a backup.","","","","","","","","","","","","","","","","","","","","","","","","‘–backup’ argument","‘-b’ argument","‘-S, –suffix’ argument","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An extension trait for displaying filenames to users.","A wrapper around [OsStr] for printing paths with quoting …","","","","","","","","","Like quote(), but don’t actually add quotes unless …","Like quote(), but don’t actually add quotes unless …","Print a path (or OsStr-like object) directly to stdout, …","Returns an object that implements [Display] for printing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fetch desired entry.","","","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA group.gr_gid","AKA passwd.pw_gid","","","","","","","","","","","","AKA group.gr_name","AKA passwd.pw_name","","","","","","","","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","A special error type that does not print any message when …","Enables the conversion from [std::io::Error] to [UError] …","Custom errors defined by the utils and uucore.","Wrapper type around [std::io::Error].","Result type that should be returned by all utils.","A simple error type with an exit code and a message that …","","","","","","","","","","Error code of a custom error.","Error code of a custom error.","","","","","","","","","","","","","","","","","","Get the last exit code set with [set_exit_code]. The …","","","","","","","","","","","","Set the exit code for the program if uumain returns Ok(())…","Strip the trailing “ (os error XX)“ from io error …","","","","","","","","","","","","","","","","","Print usage help to a custom error.","Print usage help to a custom error.","","Resolve symbolic links, ignoring errors on the final …","Resolve ‘..’ elements before symlinks","Resolve symbolic links, ignoring errors on the non-final …","Controls how symbolic links should be handled when …","Do not resolve any symbolic links.","Return an error if any part of the path is missing.","Resolve symlinks as encountered when processing the path","Controls when symbolic links are resolved","","","","","Return the canonical, absolute form of a path.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","","","","","Test if the program is running under WSL","","","","","","","","","","","","","","","Parse a size string into a number of bytes.","","","","","","","","","","","","","","","","","","","","","The various level of verbosity","","","","","","","","","","","Base implementation for chgrp and chown.","","","","","","","","Get password/group file entry","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Perform the change of owner on a path with the various …","","Fetch desired entry.","","From: …","The list of group IDs returned from GNU’s groups and GNU…","","","","","","","","","","","","","","","","","","","","","","","","","","","Missing methods for Child objects","","","","","","","","","","","","","getegid() returns the effective group ID of the calling …","geteuid() returns the effective user ID of the calling …","getgid() returns the real group ID of the calling process.","getuid() returns the real user ID of the calling process.","","","Send a signal to a Child process.","","","","","","","","Wait for a process to finish or return after the …","","","","","","Test if at least one of the given Ranges contain the …","","","","","","","","","","","","","","A fixed-size ring buffer backed by a VecDeque.","","","","","","","","Append a value to the end of the ring buffer.","","","","","","","","","","","","","","","","","","","","","","","","","Iterator of login records","","","","","Canonicalize host name using DNS","","A.K.A. ut.ut_exit","","","","A.K.A. ut.ut_host","","","Consumes the Utmpx, returning the underlying C struct …","","","","A.K.A. ut.ut_tv","","A.K.A. ut.ut_pid","Sets the name of the utmpx-format file for the other …","A.K.A. ut.ut_type","","A.K.A. ut.ut_id","","","","","A.K.A. ut.ut_line","","","A.K.A. ut.ut_user","",""],"i":[0,1,0,2,2,0,1,2,1,0,0,0,0,2,1,2,1,3,3,0,0,0,0,0,0,0,0,0,1,1,2,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,1,2,1,0,0,0,0,4,0,0,0,4,0,5,4,5,5,5,0,5,4,5,4,5,5,4,0,0,5,4,5,4,4,5,4,0,5,4,4,5,4,5,4,5,4,5,4,4,0,0,0,0,0,0,0,0,6,7,6,7,6,6,7,6,7,6,6,7,7,7,7,7,7,7,6,6,6,7,6,7,6,7,7,6,0,0,8,8,8,8,8,8,8,8,9,9,0,9,8,8,8,8,8,10,10,10,10,10,10,10,0,11,0,0,11,0,0,11,10,12,12,13,11,10,12,13,11,10,10,10,0,13,0,13,11,11,12,13,11,11,11,11,10,13,12,13,11,10,13,13,11,10,11,12,13,11,10,12,13,11,10,12,13,11,10,0,0,0,0,0,14,15,15,14,15,14,15,15,15,14,15,0,0,14,15,0,0,14,15,14,15,16,14,14,15,15,14,15,15,14,15,14,15,14,15,15,0,15,15,15,15,0,17,0,0,0,0,0,0,0,18,19,20,17,18,19,20,17,21,21,18,19,17,18,19,18,18,19,19,20,20,17,17,18,19,20,17,0,18,19,20,17,22,18,19,18,19,20,17,0,0,18,19,20,17,18,19,20,17,18,19,20,17,18,19,20,17,21,21,19,23,24,23,0,24,23,24,0,23,24,23,24,0,23,24,23,24,0,0,23,24,23,24,23,24,23,24,0,0,23,24,23,24,23,24,23,24,0,0,0,0,0,0,25,26,27,27,27,28,25,26,27,27,29,27,26,29,27,26,29,27,26,29,27,26,29,29,29,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,29,27,26,25,26,25,26,29,27,26,25,26,29,25,26,26,29,27,26,25,26,29,29,29,25,26,26,27,28,0,0,0,0,29,0,0,0,29,27,26,25,26,25,26,29,27,26,29,27,26,29,27,26,0,0,0,0,0,0,0,30,0,30,30,30,30,30,30,30,30,30,30,0,30,30,30,30,0,31,32,33,0,32,31,0,32,33,33,0,31,31,33,0,0,31,34,33,35,32,31,34,33,35,32,0,33,35,33,35,34,34,34,0,33,35,32,34,34,34,33,35,31,34,33,35,32,35,31,34,33,35,32,35,35,0,34,34,33,35,34,31,34,33,35,32,31,34,33,35,32,31,34,33,35,32,34,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,36,36,36,36,36,36,36,36,36,36,0,0,0,0,36,36,37,36,36,36,36,36,36,36,37,0,38,38,38,0,0,38,38,38,38,38,38,38,38,38,38,38,38,38,0,39,39,39,39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,41,40,41,40,0,40,40,41,0,40,40,41,40,41,40,40,40,41,40,41,40,0,40,40,41,40,41,40,40,41,40,0,0],"f":[null,null,null,null,null,null,null,null,[[],[["vec",3],["string",3]]],null,[[]],[[]],null,[[]],[[]],[[]],[[]],[[["invalidencodinghandling",4]],["conversionresult",4]],[[],["conversionresult",4]],null,null,null,null,null,null,null,[[],["string",3]],null,[[["str",15]],[["vec",3],["string",3]]],[[["str",15]],[["vec",3],["string",3]]],[[]],[[]],null,null,[[],["bool",15]],null,[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[],["string",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["backupmode",4]],[[]],[[],["i32",15]],[[["argmatches",3]],[["uresult",6],["backupmode",4]]],[[["argmatches",3]],["string",3]],[[["backupmode",4]],["bool",15]],[[["backuperror",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["path",3],["backupmode",4],["str",15]],[["pathbuf",3],["option",4]]],[[]],[[]],[[["backuperror",4]],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],null,null,null,[[],["arg",3]],[[],["arg",3]],[[],["arg",3]],null,null,[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[]],null,null,[[["helptext",3]]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["vec",3],["string",3]],["matches",3]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["str",15]],["string",3]],null,null,null,[[]],[[]],[[],["quoted",3]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["quoted",3]],[[],["quoted",3]],[[["asref",8],["osstr",3]],["result",6]],[[],["quoted",3]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["format",4]],[[]],[[["format",4]],["decoderesult",6]],[[],["decoderesult",6]],[[["format",4]],[["result",4],["string",3],["encodeerror",4]]],[[],[["result",4],["string",3],["encodeerror",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["error",3]]],[[]],[[["decodeerror",3]]],[[["decodeerror",4]]],[[]],[[["bool",15]]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["format",4]]],[[],[["error",8],["option",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["data",3],["string",3]]],[[["usize",15],["string",3],["write",8]],["result",6]],null,null,null,[[],["group",3]],[[],["passwd",3]],[[],[["vec",3],["gid_t",6]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[]],[[]],[[]],[[],[["ioresult",6],["vec",3]]],[[["u32",15],["option",4]],[["ioresult",6],["vec",3]]],[[],["gid_t",6]],[[],["gid_t",6]],[[["gid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["gid_t",6]]],[[]],[[]],[[],["group",3]],[[],["passwd",3]],[[],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["gid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["uid_t",6]],["ioresult",6]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["uid_t",6]],[[["uid_t",6]],[["ioresult",6],["string",3]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[["str",15]],[["ioresult",6],["uid_t",6]]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[]],[[]],[[]],[[]],[[],["i32",15]],[[]],[[]],[[]],[[]],[[]],null,null,[[["into",8],["i32",15],["string",3]],[["uerror",8],["box",3]]],[[["into",8],["i32",15],["string",3]],[["uerror",8],["box",3]]],[[["errorkind",4],["into",8],["string",3]],[["uerror",8],["box",3]]],[[["i32",15]],[["uerror",8],["box",3]]],[[["i32",15]]],[[["error",3]],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["asref",8],["path",3],["missinghandling",4],["resolvemode",4]],[["ioresult",6],["pathbuf",3]]],[[],["missinghandling",4]],[[],["resolvemode",4]],[[]],[[]],[[["metadata",3],["bool",15]],["string",3]],[[["bool",15],["mode_t",6]],["string",3]],[[["missinghandling",4]],["bool",15]],[[["resolvemode",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["path",3]],["pathbuf",3]],[[["path",3]],[["cow",4],["path",3]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[],["i32",15]],[[],["u64",15]],[[],["u64",15]],null,null,null,[[],["string",3]],[[],["i64",15]],[[],["i64",15]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["mountinfo",3]],[[],["fsusage",3]],[[],["statfs",3]],[[]],[[]],[[]],null,null,null,[[["statfs",3]],["bool",15]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[]],[[]],[[]],[[],["i64",15]],[[],["i64",15]],null,[[],["u64",15]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[],["u64",15]],[[],["u64",15]],null,null,null,[[],["u64",15]],[[],["u64",15]],[[["statfs",3]],["bool",15]],[[["statfs",3]],["fsusage",3]],[[],["string",3]],[[["u64",15],["mode_t",6]],["str",15]],[[["i64",15]],[["str",15],["cow",4]]],[[["i64",15]],["string",3]],[[],[["vec",3],["mountinfo",3]]],null,[[["asref",8],["path",3]],[["statfs",3],["result",4],["string",3]]],null,[[],["i32",15]],[[]],[[]],[[]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["u32",15]],[[["str",15]],[["result",4],["string",3],["mode_t",6]]],[[["u32",15],["str",15],["bool",15]],[["u32",15],["result",4],["string",3]]],[[["u32",15],["str",15],["bool",15]],[["u32",15],["result",4],["string",3]]],[[],["bool",15]],[[],["bool",15]],[[]],null,null,null,[[]],[[]],[[],["str",15]],[[["parsesizeerror",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[["parsesizeerror",4]],["bool",15]],[[["str",15]],[["result",4],["usize",15],["parsesizeerror",4]]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["str",15]],[["result",4],["duration",3],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["bool",15],["str",15],["app",3]],["uresult",6]],[[],["verbositylevel",4]],[[],["verbosity",3]],[[]],[[]],null,null,null,null,[[["verbositylevel",4]],["bool",15]],[[["verbosity",3]],["bool",15]],[[["traversesymlinks",4]],["bool",15]],[[],["uresult",6]],null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[]],null,[[["verbosity",3]],["bool",15]],null,null,null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,[[["metadata",3],["asref",8],["path",3],["bool",15],["verbosity",3],["u32",15],["option",4]],[["result",4],["string",3]]],null,null,null,[[],[["ioresult",6],["vec",3]]],[[["u32",15],["option",4]],[["ioresult",6],["vec",3]]],[[["gid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["gid_t",6]]],[[],["ioresult",6]],[[["uid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["uid_t",6]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[],["exitstatus",4]],[[]],[[],[["option",4],["i32",15]]],[[["exitstatus",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[],["gid_t",6]],[[],["uid_t",6]],[[],["gid_t",6]],[[],["uid_t",6]],[[]],[[["exitstatus",4]],["bool",15]],[[["usize",15]],["result",6]],[[],[["option",4],["i32",15]]],[[],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["duration",3]],[["option",4],["result",6]]],null,[[]],[[]],[[["range",3]],["ordering",4]],[[],[["range",3],["vec",3]]],[[["usize",15]],["bool",15]],[[["range",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["str",15]],[["string",3],["result",4],["vec",3]]],[[["str",15]],[["range",3],["str",15],["result",4]]],null,[[]],null,[[["range",3]],["bool",15]],[[["range",3]],[["option",4],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],null,[[]],[[["usize",15]],["ringbuffer",3]],[[]],[[["usize",15]],["ringbuffer",3]],[[],["option",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[["usize",15]],["bool",15]],[[["str",15]],[["usize",15],["option",4]]],[[["usize",15]],[["str",15],["option",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],[["ioresult",6],["string",3]]],[[]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["utmpx",3]],[[]],[[],["bool",15]],[[],["utmpxiter",3]],[[],["tm",3]],[[],["option",4]],[[],["i32",15]],[[["str",15]]],[[],["i16",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["string",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["string",3]],[[],["i32",15]],[[["str",15]],["ordering",4]]],"p":[[4,"ConversionResult"],[4,"InvalidEncodingHandling"],[8,"Args"],[4,"BackupError"],[4,"BackupMode"],[3,"HelpText"],[3,"CoreOptions"],[3,"Quoted"],[8,"Quotable"],[4,"Format"],[4,"DecodeError"],[4,"EncodeError"],[3,"Data"],[3,"Group"],[3,"Passwd"],[8,"Locate"],[3,"ExitCode"],[3,"USimpleError"],[3,"UUsageError"],[3,"UIoError"],[8,"UError"],[8,"FromIo"],[4,"MissingHandling"],[4,"ResolveMode"],[8,"FsMeta"],[3,"statfs_fn"],[3,"FsUsage"],[8,"BirthTime"],[3,"MountInfo"],[4,"ParseSizeError"],[4,"IfFrom"],[4,"TraverseSymlinks"],[4,"VerbosityLevel"],[3,"ChownExecutor"],[3,"Verbosity"],[4,"ExitStatus"],[8,"ChildExt"],[3,"Range"],[3,"RingBuffer"],[3,"Utmpx"],[3,"UtmpxIter"]]},\
+"uucore":{"doc":"","t":[8,13,4,13,13,4,13,13,11,14,5,5,0,11,11,11,11,11,11,0,14,14,0,0,0,0,5,14,11,11,11,11,0,0,5,14,11,11,0,14,14,14,14,14,14,0,0,0,0,0,0,0,0,14,14,5,14,14,14,14,14,14,0,14,14,11,11,11,11,11,11,14,5,0,0,13,7,7,4,13,4,13,13,13,13,13,0,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,7,7,7,5,5,5,3,3,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,8,3,11,11,11,11,11,11,11,11,11,11,5,10,11,11,11,11,11,13,13,13,13,13,13,13,3,13,4,6,13,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,3,8,3,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,5,5,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,12,3,8,8,3,6,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,10,12,12,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,4,13,13,13,4,11,11,11,11,5,11,11,11,11,5,5,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,8,8,3,3,3,5,10,11,12,12,12,10,10,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,10,11,10,11,11,11,11,10,11,12,10,11,11,11,11,11,10,11,12,12,12,10,11,11,11,10,5,5,5,5,12,5,3,5,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,13,4,13,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,13,13,13,3,13,13,4,13,13,13,4,13,13,13,3,4,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,12,12,12,0,11,11,11,11,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,0,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,3,8,3,5,5,5,5,10,5,5,17,17,17,17,17,17,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,8,13,4,13,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,10,11,11,11,11,11,11,11,10,3,11,11,11,5,5,11,11,11,11,11,12,11,12,11,11,11,11,11,3,11,11,12,11,11,11,11,11,11,11,11,7,7,5,5,5,17,17,17,7,17,17,17,17,17,17,17,17,17,17,17,3,3,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,5,5],"n":["Args","Complete","ConversionResult","ConvertLossy","Ignore","InvalidEncodingHandling","Lossy","Panic","accept_any","app","args","args_os","backup_control","borrow","borrow","borrow_mut","borrow_mut","collect_str","collect_str_lossy","coreopts","crash","crash_if_err","display","encoding","entries","error","execution_phrase","exit","expect_complete","expect_lossy","from","from","fs","fsext","get_utility_is_second_arg","has","into","into","mode","msg_expects_no_more_than_one_of","msg_expects_one_of","msg_invalid_input","msg_invalid_opt_use","msg_opt_invalid_should_be","msg_opt_only_usable_if","os","panic","parse_size","parse_time","perms","process","ranges","ringbuffer","safe_write","safe_writeln","set_utility_is_second_arg","show","show_error","show_error_custom_description","show_if_err","show_usage_error","show_warning","signals","snippet_list_join","snippet_list_join_oxford_comma","try_from","try_from","try_into","try_into","type_id","type_id","uio_error","util_name","utmpx","version_cmp","AmbiguousArgument","BACKUP_CONTROL_LONG_HELP","BACKUP_CONTROL_VALUES","BackupError","BackupImpossible","BackupMode","ExistingBackup","InvalidArgument","NoBackup","NumberedBackup","SimpleBackup","arguments","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","code","determine_backup_mode","determine_backup_suffix","eq","eq","fmt","fmt","fmt","from","from","get_backup_path","into","into","ne","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","usage","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","CoreOptions","HelpText","borrow","borrow","borrow_mut","borrow_mut","display_usage","from","from","into","into","long_help","name","new","optflag","optflagmulti","optflagopt","optmulti","optopt","parse","summary","syntax","try_from","try_from","try_into","try_into","type_id","type_id","usage","version","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","fmt","fmt","from","into","maybe_quote","maybe_quote","println_verbatim","quote","to_owned","to_string","try_from","try_into","type_id","Base16","Base2Lsbf","Base2Msbf","Base32","Base32Hex","Base64","Base64Url","Data","Decode","DecodeError","DecodeResult","DecodeZ85","EncodeError","Format","Io","Z85","Z85InputLenNotMultipleOf4","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","decode","decode","encode","encode","fmt","fmt","from","from","from","from","from","from","from","ignore_garbage","into","into","into","into","line_wrap","new","source","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","wrap_print","wrap_write","Group","Locate","Passwd","as_inner","as_inner","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","into_inner","into_inner","locate","locate","locate","locate","locate","name","name","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","usr2uid","0","ExitCode","FromIo","UError","UIoError","UResult","USimpleError","UUsageError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","code","code","code","code","code","code","code","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_exit_code","into","into","into","into","map_err_context","message","message","new","new","new","new","set_exit_code","strip_errno","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","usage","usage","usage","Existing","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","borrow","borrow","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","display_permissions","display_permissions_unix","eq","eq","fmt","fmt","from","from","into","into","normalize_path","resolve_relative_path","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","BirthTime","FsMeta","FsUsage","MountInfo","StatFs","StatFs","avail_blocks","avail_blocks","bavail","bavail_top_bit_set","bfree","birth","block_size","block_size","blocks","blocksize","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","dev_id","dev_name","dummy","eq","f_bavail","f_bavail","f_bfree","f_bfree","f_blocks","f_blocks","f_bsize","f_bsize","f_ffree","f_ffree","f_files","f_files","f_frsize","f_frsize","f_fsid","f_fsid","f_namelen","f_namelen","f_type","f_type","ffree","files","fmt","fmt","fmt","free_blocks","free_blocks","free_file_nodes","free_file_nodes","from","from","from","fs_type","fs_type","fs_type","fsid","fsid","hash","into","into","into","io_size","io_size","mount_dir","mount_option","mount_root","namelen","namelen","ne","new","pretty_birth","pretty_filetype","pretty_fstype","pretty_time","read_fs_list","remote","statfs","statfs_fn","statfs_fn","to_owned","to_owned","to_owned","total_blocks","total_blocks","total_file_nodes","total_file_nodes","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","get_umask","parse_mode","parse_numeric","parse_symbolic","is_wsl_1","is_wsl_2","mute_sigpipe_panic","ParseFailure","ParseSizeError","SizeTooBig","borrow","borrow_mut","description","eq","fmt","fmt","from","into","ne","parse_size","to_string","try_from","try_into","type_id","from_str","All","All","Changes","ChownExecutor","First","Group","IfFrom","None","Normal","Silent","TraverseSymlinks","User","UserGroup","Verbose","Verbosity","VerbosityLevel","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chown_base","clone","clone","clone_into","clone_into","dereference","dest_gid","dest_uid","entries","eq","eq","eq","exec","files","filter","fmt","fmt","from","from","from","from","from","groups_only","into","into","into","into","into","level","ne","options","preserve_root","recursive","to_owned","to_owned","traverse_symlinks","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","verbosity","wrap_chown","Group","Locate","Passwd","get_groups","get_groups_gnu","gid2grp","grp2gid","locate","uid2usr","usr2uid","ARG_FILES","ARG_GROUP","ARG_OWNER","FROM","RECURSIVE","REFERENCE","dereference","preserve_root","traverse","verbosity","DEREFERENCE","NO_DEREFERENCE","NO_PRESERVE","PRESERVE","EVERY","NO_TRAVERSE","TRAVERSE","CHANGES","QUIET","SILENT","VERBOSE","ChildExt","Code","ExitStatus","Signal","borrow","borrow_mut","clone","clone_into","code","eq","fmt","fmt","from","getegid","geteuid","getgid","getuid","into","ne","send_signal","signal","success","to_owned","to_string","try_from","try_into","type_id","wait_or_timeout","Range","borrow","borrow_mut","cmp","complement","contain","eq","fmt","from","from_list","from_str","high","into","low","ne","partial_cmp","try_from","try_into","type_id","RingBuffer","borrow","borrow_mut","data","from","from_iter","into","new","push_back","try_from","try_into","type_id","ALL_SIGNALS","DEFAULT_SIGNAL","is_signal","signal_by_name_or_value","signal_name_by_value","ACCOUNTING","BOOT_TIME","DEAD_PROCESS","DEFAULT_FILE","EMPTY","INIT_PROCESS","LOGIN_PROCESS","NEW_TIME","OLD_TIME","RUN_LVL","USER_PROCESS","UT_HOSTSIZE","UT_IDSIZE","UT_LINESIZE","UT_NAMESIZE","Utmpx","UtmpxIter","borrow","borrow","borrow_mut","borrow_mut","canon_host","endutxent","exit_status","from","from","getutxent","host","into","into","into_inner","into_iter","is_user_process","iter_all_records","login_time","next","pid","read_from","record_type","setutxent","terminal_suffix","try_from","try_from","try_into","try_into","tty_device","type_id","type_id","user","utmpxname","version_cmp"],"q":["uucore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::arguments","","","","","","uucore::coreopts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::mode","","","","uucore::os","","uucore::panic","uucore::parse_size","","","","","","","","","","","","","","","","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::entries","","","","","","","","","","uucore::perms::options","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::ranges","","","","","","","","","","","","","","","","","","","uucore::ringbuffer","","","","","","","","","","","","uucore::signals","","","","","uucore::utmpx","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::version_cmp"],"d":["","","","","","","","","","","","","Implement GNU-style backup functionality.","","","","","Converts each iterator item to a String and collects …","convenience function for a more slim interface","","Display the provided error message, then exit() with the …","Unwraps the Result. Instead of panicking, it exists the …","","","Get password/group file entry","All utils return exit with an exit code. Usually, the …","Derive the complete execution phrase for “usage”.","Calls exit() with the provided exit code.","","","","","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","","","Set of functions to parse modes","","","","","","","","","","","Common functions to manage permissions","Set of functions to manage IDs","","A fixed-size ring buffer.","","","","","Show an error to stderr in a similar style to GNU …","Show a warning to stderr in a similar style to GNU …","","Show a bad invocation help message in a similar style to …","","","","","","","","","","","Shorthand to construct [UIoError]-instances.","Derive the utility name.","Aims to provide platform-independent methods to obtain …","","An ambiguous argument (e.g. ‘n’) was given as backup …","","","Backup error types.","Currently unused","Available backup modes.","Argument ‘existing’, ‘nil’","An invalid argument (e.g. ‘foo’) was given as backup …","Argument ‘none’, ‘off’","Argument ‘numbered’, ‘t’","Argument ‘simple’, ‘never’","Arguments for backup-related functionality.","","","","","","","","Determine the “mode” for the backup operation to …","Obtain the suffix to use for a backup.","","","","","","","","","","","","","","","","","","","","","","","","‘–backup’ argument","‘-b’ argument","‘-S, –suffix’ argument","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An extension trait for displaying filenames to users.","A wrapper around [OsStr] for printing paths with quoting …","","","","","","","","","Like quote(), but don’t actually add quotes unless …","Like quote(), but don’t actually add quotes unless …","Print a path (or OsStr-like object) directly to stdout, …","Returns an object that implements [Display] for printing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fetch desired entry.","","","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA group.gr_gid","AKA passwd.pw_gid","","","","","","","","","","","","AKA group.gr_name","AKA passwd.pw_name","","","","","","","","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","A special error type that does not print any message when …","Enables the conversion from [std::io::Error] to [UError] …","Custom errors defined by the utils and uucore.","Wrapper type around [std::io::Error].","Result type that should be returned by all utils.","A simple error type with an exit code and a message that …","","","","","","","","","","Error code of a custom error.","Error code of a custom error.","","","","","","","","","","","","","","","","","","Get the last exit code set with [set_exit_code]. The …","","","","","","","","","","","","Set the exit code for the program if uumain returns Ok(())…","Strip the trailing “ (os error XX)“ from io error …","","","","","","","","","","","","","","","","","Print usage help to a custom error.","Print usage help to a custom error.","","Resolve symbolic links, ignoring errors on the final …","Resolve ‘..’ elements before symlinks","Resolve symbolic links, ignoring errors on the non-final …","Controls how symbolic links should be handled when …","Do not resolve any symbolic links.","Return an error if any part of the path is missing.","Resolve symlinks as encountered when processing the path","Controls when symbolic links are resolved","","","","","Return the canonical, absolute form of a path.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","","","","","Test if the program is running under WSL","","","","","","","","","","","","","","","Parse a size string into a number of bytes.","","","","","","","","","","","","","","","","","","","","","The various level of verbosity","","","","","","","","","","","Base implementation for chgrp and chown.","","","","","","","","Get password/group file entry","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Perform the change of owner on a path with the various …","","Fetch desired entry.","","From: …","The list of group IDs returned from GNU’s groups and GNU…","","","","","","","","","","","","","","","","","","","","","","","","","","","Missing methods for Child objects","","","","","","","","","","","","","getegid() returns the effective group ID of the calling …","geteuid() returns the effective user ID of the calling …","getgid() returns the real group ID of the calling process.","getuid() returns the real user ID of the calling process.","","","Send a signal to a Child process.","","","","","","","","Wait for a process to finish or return after the …","","","","","","Test if at least one of the given Ranges contain the …","","","","","","","","","","","","","","A fixed-size ring buffer backed by a VecDeque.","","","","","","","","Append a value to the end of the ring buffer.","","","","","","","","","","","","","","","","","","","","","","","","","Iterator of login records","","","","","Canonicalize host name using DNS","","A.K.A. ut.ut_exit","","","","A.K.A. ut.ut_host","","","Consumes the Utmpx, returning the underlying C struct …","","","","A.K.A. ut.ut_tv","","A.K.A. ut.ut_pid","Sets the name of the utmpx-format file for the other …","A.K.A. ut.ut_type","","A.K.A. ut.ut_id","","","","","A.K.A. ut.ut_line","","","A.K.A. ut.ut_user","",""],"i":[0,1,0,2,2,0,1,2,1,0,0,0,0,2,1,2,1,3,3,0,0,0,0,0,0,0,0,0,1,1,2,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,1,2,1,0,0,0,0,4,0,0,0,4,0,5,4,5,5,5,0,5,4,5,4,5,5,4,0,0,5,4,5,4,4,5,4,0,5,4,4,5,4,5,4,5,4,5,4,4,0,0,0,0,0,0,0,0,6,7,6,7,6,6,7,6,7,6,6,7,7,7,7,7,7,7,6,6,6,7,6,7,6,7,7,6,0,0,8,8,8,8,8,8,8,8,9,9,0,9,8,8,8,8,8,10,10,10,10,10,10,10,0,11,0,0,11,0,0,11,10,12,12,13,11,10,12,13,11,10,10,10,0,13,0,13,11,11,12,13,11,11,11,11,10,13,12,13,11,10,13,13,11,10,11,12,13,11,10,12,13,11,10,12,13,11,10,0,0,0,0,0,14,15,15,14,15,14,15,15,15,14,15,0,0,14,15,0,0,14,15,14,15,16,14,14,15,15,14,15,15,14,15,14,15,14,15,15,0,15,15,15,15,0,17,0,0,0,0,0,0,0,18,19,20,17,18,19,20,17,21,21,18,19,17,18,19,18,18,19,19,20,20,17,17,18,19,20,17,0,18,19,20,17,22,18,19,18,19,20,17,0,0,18,19,20,17,18,19,20,17,18,19,20,17,18,19,20,17,21,21,19,23,24,23,0,24,23,24,0,23,24,23,24,0,23,24,23,24,0,0,23,24,23,24,23,24,23,24,0,0,23,24,23,24,23,24,23,24,0,0,0,0,0,0,25,26,27,27,27,28,25,26,27,27,29,27,26,29,27,26,29,27,26,29,27,26,29,29,29,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,29,27,26,25,26,25,26,29,27,26,25,26,29,25,26,26,29,27,26,25,26,29,29,29,25,26,26,27,28,0,0,0,0,29,0,0,0,29,27,26,25,26,25,26,29,27,26,29,27,26,29,27,26,0,0,0,0,0,0,0,30,0,30,30,30,30,30,30,30,30,30,30,0,30,30,30,30,0,31,32,33,0,32,31,0,32,33,33,0,31,31,33,0,0,31,34,33,35,32,31,34,33,35,32,0,33,35,33,35,34,34,34,0,33,35,32,34,34,34,33,35,31,34,33,35,32,35,31,34,33,35,32,35,35,0,34,34,33,35,34,31,34,33,35,32,31,34,33,35,32,31,34,33,35,32,34,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,36,36,36,36,36,36,36,36,36,36,0,0,0,0,36,36,37,36,36,36,36,36,36,36,37,0,38,38,38,0,0,38,38,38,38,38,38,38,38,38,38,38,38,38,0,39,39,39,39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,41,40,41,40,0,40,40,41,0,40,40,41,40,41,40,40,40,41,40,41,40,0,40,40,41,40,41,40,40,41,40,0,0],"f":[null,null,null,null,null,null,null,null,[[],[["vec",3],["string",3]]],null,[[]],[[]],null,[[]],[[]],[[]],[[]],[[["invalidencodinghandling",4]],["conversionresult",4]],[[],["conversionresult",4]],null,null,null,null,null,null,null,[[],["string",3]],null,[[["str",15]],[["vec",3],["string",3]]],[[["str",15]],[["vec",3],["string",3]]],[[]],[[]],null,null,[[],["bool",15]],null,[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[],["string",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["backupmode",4]],[[]],[[],["i32",15]],[[["argmatches",3]],[["uresult",6],["backupmode",4]]],[[["argmatches",3]],["string",3]],[[["backupmode",4]],["bool",15]],[[["backuperror",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["path",3],["backupmode",4],["str",15]],[["pathbuf",3],["option",4]]],[[]],[[]],[[["backuperror",4]],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],null,null,null,[[],["arg",3]],[[],["arg",3]],[[],["arg",3]],null,null,[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[]],null,null,[[["helptext",3]]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["str",15]],["coreoptions",3]],[[["vec",3],["string",3]],["matches",3]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["str",15]],["string",3]],null,null,null,[[]],[[]],[[],["quoted",3]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["quoted",3]],[[],["quoted",3]],[[["asref",8],["osstr",3]],["result",6]],[[],["quoted",3]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["format",4]],[[]],[[["format",4]],["decoderesult",6]],[[],["decoderesult",6]],[[["format",4]],[["result",4],["string",3],["encodeerror",4]]],[[],[["result",4],["string",3],["encodeerror",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["error",3]]],[[]],[[["decodeerror",3]]],[[["decodeerror",4]]],[[]],[[["bool",15]]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["format",4]]],[[],[["error",8],["option",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["data",3],["string",3]]],[[["usize",15],["string",3],["write",8]],["result",6]],null,null,null,[[],["group",3]],[[],["passwd",3]],[[],[["vec",3],["gid_t",6]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[]],[[]],[[]],[[],[["ioresult",6],["vec",3]]],[[["u32",15],["option",4]],[["ioresult",6],["vec",3]]],[[],["gid_t",6]],[[],["gid_t",6]],[[["gid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["gid_t",6]]],[[]],[[]],[[],["group",3]],[[],["passwd",3]],[[],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["gid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["uid_t",6]],["ioresult",6]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["uid_t",6]],[[["uid_t",6]],[["ioresult",6],["string",3]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[],[["cow",4],["str",15]]],[[["str",15]],[["ioresult",6],["uid_t",6]]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],[[],["i32",15]],null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[]],[[]],[[]],[[]],[[],["i32",15]],[[]],[[]],[[]],[[]],[[]],null,null,[[["into",8],["i32",15],["string",3]],[["uerror",8],["box",3]]],[[["into",8],["i32",15],["string",3]],[["uerror",8],["box",3]]],[[["errorkind",4],["into",8],["string",3]],[["uerror",8],["box",3]]],[[["i32",15]],[["uerror",8],["box",3]]],[[["i32",15]]],[[["error",3]],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["asref",8],["path",3],["missinghandling",4],["resolvemode",4]],[["ioresult",6],["pathbuf",3]]],[[],["missinghandling",4]],[[],["resolvemode",4]],[[]],[[]],[[["metadata",3],["bool",15]],["string",3]],[[["bool",15],["mode_t",6]],["string",3]],[[["missinghandling",4]],["bool",15]],[[["resolvemode",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["path",3]],["pathbuf",3]],[[["path",3]],[["cow",4],["path",3]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[],["i32",15]],[[],["u64",15]],[[],["u64",15]],null,null,null,[[],["string",3]],[[],["i64",15]],[[],["i64",15]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["mountinfo",3]],[[],["fsusage",3]],[[],["statfs",3]],[[]],[[]],[[]],null,null,null,[[["statfs",3]],["bool",15]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[]],[[]],[[]],[[],["i64",15]],[[],["i64",15]],null,[[],["u64",15]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[],["u64",15]],[[],["u64",15]],null,null,null,[[],["u64",15]],[[],["u64",15]],[[["statfs",3]],["bool",15]],[[["statfs",3]],["fsusage",3]],[[],["string",3]],[[["u64",15],["mode_t",6]],["str",15]],[[["i64",15]],[["str",15],["cow",4]]],[[["i64",15]],["string",3]],[[],[["vec",3],["mountinfo",3]]],null,[[["asref",8],["path",3]],[["statfs",3],["result",4],["string",3]]],null,[[],["i32",15]],[[]],[[]],[[]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["u32",15]],[[["str",15]],[["result",4],["string",3],["mode_t",6]]],[[["u32",15],["str",15],["bool",15]],[["u32",15],["result",4],["string",3]]],[[["u32",15],["str",15],["bool",15]],[["u32",15],["result",4],["string",3]]],[[],["bool",15]],[[],["bool",15]],[[]],null,null,null,[[]],[[]],[[],["str",15]],[[["parsesizeerror",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[["parsesizeerror",4]],["bool",15]],[[["str",15]],[["usize",15],["result",4],["parsesizeerror",4]]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["str",15]],[["result",4],["duration",3],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["bool",15],["str",15],["app",3]],["uresult",6]],[[],["verbositylevel",4]],[[],["verbosity",3]],[[]],[[]],null,null,null,null,[[["verbositylevel",4]],["bool",15]],[[["verbosity",3]],["bool",15]],[[["traversesymlinks",4]],["bool",15]],[[],["uresult",6]],null,null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[]],null,[[["verbosity",3]],["bool",15]],null,null,null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,[[["metadata",3],["asref",8],["path",3],["bool",15],["verbosity",3],["u32",15],["option",4]],[["result",4],["string",3]]],null,null,null,[[],[["ioresult",6],["vec",3]]],[[["u32",15],["option",4]],[["ioresult",6],["vec",3]]],[[["gid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["gid_t",6]]],[[],["ioresult",6]],[[["uid_t",6]],[["ioresult",6],["string",3]]],[[["str",15]],[["ioresult",6],["uid_t",6]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[],["exitstatus",4]],[[]],[[],[["option",4],["i32",15]]],[[["exitstatus",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[],["gid_t",6]],[[],["uid_t",6]],[[],["gid_t",6]],[[],["uid_t",6]],[[]],[[["exitstatus",4]],["bool",15]],[[["usize",15]],["result",6]],[[],[["option",4],["i32",15]]],[[],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["duration",3]],[["option",4],["result",6]]],null,[[]],[[]],[[["range",3]],["ordering",4]],[[],[["range",3],["vec",3]]],[[["usize",15]],["bool",15]],[[["range",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["str",15]],[["string",3],["result",4],["vec",3]]],[[["str",15]],[["range",3],["str",15],["result",4]]],null,[[]],null,[[["range",3]],["bool",15]],[[["range",3]],[["option",4],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],null,[[]],[[["usize",15]],["ringbuffer",3]],[[]],[[["usize",15]],["ringbuffer",3]],[[],["option",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[["usize",15]],["bool",15]],[[["str",15]],[["usize",15],["option",4]]],[[["usize",15]],[["str",15],["option",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],[["ioresult",6],["string",3]]],[[]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["utmpx",3]],[[]],[[],["bool",15]],[[],["utmpxiter",3]],[[],["tm",3]],[[],["option",4]],[[],["i32",15]],[[["str",15]]],[[],["i16",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["string",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["string",3]],[[],["i32",15]],[[["str",15]],["ordering",4]]],"p":[[4,"ConversionResult"],[4,"InvalidEncodingHandling"],[8,"Args"],[4,"BackupError"],[4,"BackupMode"],[3,"HelpText"],[3,"CoreOptions"],[3,"Quoted"],[8,"Quotable"],[4,"Format"],[4,"DecodeError"],[4,"EncodeError"],[3,"Data"],[3,"Group"],[3,"Passwd"],[8,"Locate"],[3,"ExitCode"],[3,"USimpleError"],[3,"UUsageError"],[3,"UIoError"],[8,"UError"],[8,"FromIo"],[4,"MissingHandling"],[4,"ResolveMode"],[8,"FsMeta"],[3,"statfs_fn"],[3,"FsUsage"],[8,"BirthTime"],[3,"MountInfo"],[4,"ParseSizeError"],[4,"IfFrom"],[4,"TraverseSymlinks"],[4,"VerbosityLevel"],[3,"ChownExecutor"],[3,"Verbosity"],[4,"ExitStatus"],[8,"ChildExt"],[3,"Range"],[3,"RingBuffer"],[3,"Utmpx"],[3,"UtmpxIter"]]},\
"uucore_procs":{"doc":"","t":[23,14],"n":["gen_uumain","main"],"q":["uucore_procs",""],"d":["",""],"i":[0,0],"f":[null,null],"p":[]},\
"wc":{"doc":"","t":[5],"n":["main"],"q":["wc"],"d":[""],"i":[0],"f":[[[]]],"p":[]},\
"who":{"doc":"","t":[5],"n":["main"],"q":["who"],"d":[""],"i":[0],"f":[[[]]],"p":[]},\
diff --git a/src/uu_ls/quoting_style.rs.html b/src/uu_ls/quoting_style.rs.html
index a7ddde746..11d26b354 100644
--- a/src/uu_ls/quoting_style.rs.html
+++ b/src/uu_ls/quoting_style.rs.html
@@ -697,6 +697,39 @@
695
696
697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
use std::char::from_digit; use std::ffi::OsStr; @@ -987,7 +1020,7 @@ show_control, } => { let name = name.to_string_lossy(); - let (quotes, must_quote) = if name.contains('"') { + let (quotes, must_quote) = if name.contains(&['"', '`', '$', '\\'][..]) { (Quotes::Single, true) } else if name.contains('\'') { (Quotes::Double, true) @@ -1394,6 +1427,39 @@ ); check_names("name#", vec![("name#", "shell"), ("name#", "shell-escape")]); } + + #[test] + fn test_special_chars_in_double_quotes() { + check_names( + "can'$t", + vec![ + ("'can'\\''$t'", "shell"), + ("'can'\\''$t'", "shell-always"), + ("'can'\\''$t'", "shell-escape"), + ("'can'\\''$t'", "shell-escape-always"), + ], + ); + + check_names( + "can'`t", + vec![ + ("'can'\\''`t'", "shell"), + ("'can'\\''`t'", "shell-always"), + ("'can'\\''`t'", "shell-escape"), + ("'can'\\''`t'", "shell-escape-always"), + ], + ); + + check_names( + "can'\\t", + vec![ + ("'can'\\''\\t'", "shell"), + ("'can'\\''\\t'", "shell-always"), + ("'can'\\''\\t'", "shell-escape"), + ("'can'\\''\\t'", "shell-escape-always"), + ], + ); + } }