From fd6f55169fd003bb321b1ebf2bdbf8d2c4d71970 Mon Sep 17 00:00:00 2001 From: sylvestre Date: Sat, 19 Feb 2022 02:37:01 +0000 Subject: [PATCH] deploy: 055173b502eea8c5dde05814e085be3cd8e6295f --- dev/search-index.js | 6 +- dev/src/uu_dd/parseargs.rs.html | 42 +++-- dev/src/uu_ls/ls.rs.html | 146 ++++++++++-------- dev/src/uu_printf/printf.rs.html | 2 +- dev/src/uu_seq/seq.rs.html | 20 ++- dev/src/uucore/features/memo.rs.html | 16 +- dev/src/uucore/features/tokenize/sub.rs.html | 104 +++++++++---- .../uucore/features/tokenize/token.rs.html | 6 +- .../features/tokenize/unescaped_text.rs.html | 8 +- dev/uu_ls/index.html | 2 +- dev/uu_seq/fn.uu_app.html | 2 +- dev/uu_seq/fn.uumain.html | 2 +- dev/uu_seq/index.html | 2 +- dev/uucore/memo/index.html | 2 +- dev/uucore/memo/struct.Memo.html | 2 +- 15 files changed, 236 insertions(+), 126 deletions(-) diff --git a/dev/search-index.js b/dev/search-index.js index 3498b4848..02f4a765b 100644 --- a/dev/search-index.js +++ b/dev/search-index.js @@ -104,9 +104,9 @@ var searchIndex = JSON.parse('{\ "uu_basenc":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_basenc",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\ "uu_cat":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_cat",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\ "uu_chcon":{"doc":"","t":[0,5,5,7,7,7,7,7,7,7,0,0,0,7,7,7,7,7,7,7],"n":["options","uu_app","uumain","RANGE","RECURSIVE","REFERENCE","ROLE","TYPE","USER","VERBOSE","dereference","preserve_root","sym_links","DEREFERENCE","NO_DEREFERENCE","NO_PRESERVE_ROOT","PRESERVE_ROOT","FOLLOW_ARG_DIR_SYM_LINK","FOLLOW_DIR_SYM_LINKS","NO_FOLLOW_SYM_LINKS"],"q":["uu_chcon","","","uu_chcon::options","","","","","","","","","","uu_chcon::options::dereference","","uu_chcon::options::preserve_root","","uu_chcon::options::sym_links","",""],"d":["","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":[null,[[],["app",3]],[[],["i32",15]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"p":[]},\ -"uu_chgrp":{"doc":"","t":[0,5,5,3,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,12,5,5,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,5,12,12,12,12,5],"n":["entries","uu_app","uumain","Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fmt","fmt","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","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"],"q":["uu_chgrp","","","uu_chgrp::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Get password/group file entry","","","","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 passwd.pw_gid","AKA group.gr_gid","","","","","","","","","","AKA passwd.pw_name","AKA group.gr_name","","","","","","","","","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell",""],"i":[0,0,0,0,0,0,1,1,2,1,2,1,2,1,2,1,2,1,2,0,0,1,2,0,0,1,2,3,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,0,1,1,1,1,0],"f":[null,[[],["app",3]],[[],["i32",15]],null,null,null,[[],["vec",3,[["u32",15],["global",3]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],[[["option",4,[["u32",15]]]],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],[[["str",15]],["result",4,[["u32",15],["error",3]]]],[[]],[[]],[[],["result",4,[["error",3]]]],[[["str",15]],["result",4,[["passwd",3],["error",3]]]],[[["u32",15]],["result",4,[["passwd",3],["error",3]]]],[[["str",15]],["result",4,[["group",3],["error",3]]]],[[["u32",15]],["result",4,[["group",3],["error",3]]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],null,null,null,null,[[["str",15]],["result",4,[["u32",15],["error",3]]]]],"p":[[3,"Passwd"],[3,"Group"],[8,"Locate"]]},\ +"uu_chgrp":{"doc":"","t":[0,5,5,3,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,12,5,5,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,5,12,12,12,12,5],"n":["entries","uu_app","uumain","Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fmt","fmt","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","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"],"q":["uu_chgrp","","","uu_chgrp::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Get password/group file entry","","","","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 passwd.pw_gid","AKA group.gr_gid","","","","","","","","","","AKA passwd.pw_name","AKA group.gr_name","","","","","","","","","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell",""],"i":[0,0,0,0,0,0,1,1,2,1,2,1,2,1,2,1,2,1,2,0,0,1,2,0,0,1,2,3,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,0,1,1,1,1,0],"f":[null,[[],["app",3]],[[],["i32",15]],null,null,null,[[],["vec",3,[["u32",15],["global",3]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],[[["option",4,[["u32",15]]]],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],[[["str",15]],["result",4,[["u32",15],["error",3]]]],[[]],[[]],[[],["result",4,[["error",3]]]],[[["u32",15]],["result",4,[["passwd",3],["error",3]]]],[[["str",15]],["result",4,[["passwd",3],["error",3]]]],[[["u32",15]],["result",4,[["group",3],["error",3]]]],[[["str",15]],["result",4,[["group",3],["error",3]]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],null,null,null,null,[[["str",15]],["result",4,[["u32",15],["error",3]]]]],"p":[[3,"Passwd"],[3,"Group"],[8,"Locate"]]},\ "uu_chmod":{"doc":"","t":[5,5,5],"n":["is_symlink","uu_app","uumain"],"q":["uu_chmod","",""],"d":["","",""],"i":[0,0,0],"f":[[[["asref",8,[["path",3]]]],["bool",15]],[[],["app",3]],[[],["i32",15]]],"p":[]},\ -"uu_chown":{"doc":"","t":[3,8,3,11,11,11,11,11,11,11,11,11,0,11,11,11,11,12,12,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,12,5,5,3,8,3,5,5,12,12,5,5,10,12,12,12,5,12,12,12,12,5],"n":["Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","entries","fmt","fmt","from","from","gid","gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uid","user_dir","user_info","user_passwd","user_shell","uu_app","uumain","Group","Locate","Passwd","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","locate","name","name","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","usr2uid"],"q":["uu_chown","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uu_chown::entries","","","","","","","","","","","","","","","","","",""],"d":["","Fetch desired entry.","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","Get password/group file entry","","","","","AKA passwd.pw_gid","AKA group.gr_gid","","","","","","","","AKA passwd.pw_name","AKA group.gr_name","","","","","","","","","AKA passwd.pw_uid","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","","Fetch desired entry.","","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","","AKA passwd.pw_name","AKA group.gr_name","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell",""],"i":[0,0,0,1,1,2,1,2,1,2,1,2,0,1,2,1,2,1,2,1,2,3,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,1,1,1,1,0,0,0,0,0,0,0,1,2,0,0,3,1,2,1,0,1,1,1,1,0],"f":[null,null,null,[[],["vec",3,[["u32",15],["global",3]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],null,[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],null,null,[[]],[[]],[[],["result",4,[["error",3]]]],[[["u32",15]],["result",4,[["passwd",3],["error",3]]]],[[["str",15]],["result",4,[["passwd",3],["error",3]]]],[[["u32",15]],["result",4,[["group",3],["error",3]]]],[[["str",15]],["result",4,[["group",3],["error",3]]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[],["app",3]],[[],["i32",15]],null,null,null,[[],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],[[["option",4,[["u32",15]]]],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],[[["str",15]],["result",4,[["u32",15],["error",3]]]],[[],["result",4,[["error",3]]]],null,null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],null,null,null,null,[[["str",15]],["result",4,[["u32",15],["error",3]]]]],"p":[[3,"Passwd"],[3,"Group"],[8,"Locate"]]},\ +"uu_chown":{"doc":"","t":[3,8,3,11,11,11,11,11,11,11,11,11,0,11,11,11,11,12,12,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,12,5,5,3,8,3,5,5,12,12,5,5,10,12,12,12,5,12,12,12,12,5],"n":["Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","entries","fmt","fmt","from","from","gid","gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uid","user_dir","user_info","user_passwd","user_shell","uu_app","uumain","Group","Locate","Passwd","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","locate","name","name","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","usr2uid"],"q":["uu_chown","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uu_chown::entries","","","","","","","","","","","","","","","","","",""],"d":["","Fetch desired entry.","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","Get password/group file entry","","","","","AKA passwd.pw_gid","AKA group.gr_gid","","","","","","","","AKA passwd.pw_name","AKA group.gr_name","","","","","","","","","AKA passwd.pw_uid","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","","Fetch desired entry.","","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","","AKA passwd.pw_name","AKA group.gr_name","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell",""],"i":[0,0,0,1,1,2,1,2,1,2,1,2,0,1,2,1,2,1,2,1,2,3,1,1,2,2,1,2,1,2,1,2,1,2,1,2,1,1,1,1,1,0,0,0,0,0,0,0,1,2,0,0,3,1,2,1,0,1,1,1,1,0],"f":[null,null,null,[[],["vec",3,[["u32",15],["global",3]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],null,[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],null,null,[[]],[[]],[[],["result",4,[["error",3]]]],[[["str",15]],["result",4,[["passwd",3],["error",3]]]],[[["u32",15]],["result",4,[["passwd",3],["error",3]]]],[[["u32",15]],["result",4,[["group",3],["error",3]]]],[[["str",15]],["result",4,[["group",3],["error",3]]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[],["app",3]],[[],["i32",15]],null,null,null,[[],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],[[["option",4,[["u32",15]]]],["result",4,[["vec",3,[["u32",15],["global",3]]],["error",3]]]],null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],[[["str",15]],["result",4,[["u32",15],["error",3]]]],[[],["result",4,[["error",3]]]],null,null,null,[[["u32",15]],["result",4,[["string",3],["error",3]]]],null,null,null,null,[[["str",15]],["result",4,[["u32",15],["error",3]]]]],"p":[[3,"Passwd"],[3,"Group"],[8,"Locate"]]},\ "uu_chroot":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_chroot",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\ "uu_cksum":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_cksum",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\ "uu_comm":{"doc":"","t":[5,5],"n":["uu_app","uumain"],"q":["uu_comm",""],"d":["",""],"i":[0,0],"f":[[[],["app",3]],[[],["i32",15]]],"p":[]},\ @@ -197,7 +197,7 @@ var searchIndex = JSON.parse('{\ "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],"n":["uu_app","uumain"],"q":["uu_whoami",""],"d":["",""],"i":[0,0],"f":[[[],["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,5,0,14,11,11,11,11,11,11,14,14,0,0,0,0,5,11,11,11,11,0,0,5,14,11,11,0,23,0,0,0,0,0,0,0,0,0,0,0,5,14,14,14,14,14,14,0,11,11,11,11,11,11,14,5,0,0,12,12,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,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,7,7,7,5,5,5,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,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,12,12,12,3,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,12,5,5,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,5,12,12,12,12,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,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,14,11,11,11,13,3,13,13,4,13,13,13,4,11,11,11,11,11,11,5,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,5,5,11,11,11,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,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,3,11,11,11,11,11,5,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,13,4,13,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,12,12,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,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,12,12,12,12,3,8,3,5,5,12,12,5,5,10,12,12,12,5,12,12,12,12,5,17,17,17,17,17,17,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,6,6,5,5,5,5,8,13,4,13,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,10,11,11,11,11,11,11,11,10,12,12,3,11,11,11,5,5,11,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,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","args_os","backup_control","bin","borrow","borrow","borrow_mut","borrow_mut","collect_str","collect_str_lossy","crash","crash_if_err","display","encoding","entries","error","execution_phrase","expect_complete","expect_lossy","from","from","fs","fsext","get_utility_is_second_arg","has","into","into","lines","main","memo","mode","os","panic","parse_size","parse_time","perms","pipes","process","ranges","ringbuffer","set_utility_is_second_arg","show","show_error","show_error_custom_description","show_if_err","show_usage_error","show_warning","signals","try_from","try_from","try_into","try_into","type_id","type_id","uio_error","util_name","utmpx","version_cmp","0","0","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","equivalent","equivalent","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","0","0","1","1","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","fmt","fmt","force","from","from","into","maybe_quote","maybe_quote","native","native_raw","print_verbatim","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","0","0","0","Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fmt","fmt","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","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","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","uio_error","usage","usage","usage","Existing","FileInformation","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","display_permissions","display_permissions_unix","eq","eq","eq","equivalent","equivalent","equivalent","file_size","fmt","fmt","from","from","from","from_file","from_path","has","hash","into","into","into","normalize_path","resolve_relative_path","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","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","equivalent","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","Lines","borrow","borrow_mut","from","into","into_iter","lines","next","try_from","try_into","type_id","Memo","apply","borrow","borrow_mut","from","into","new","run_all","try_from","try_into","type_id","get_umask","parse_mode","parse_numeric","parse_symbolic","strip_minus_from_mode","is_wsl_1","is_wsl_2","mute_sigpipe_panic","ParseFailure","ParseSizeError","SizeTooBig","borrow","borrow_mut","description","eq","equivalent","fmt","fmt","from","into","ne","parse_size","to_string","try_from","try_into","type_id","0","0","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","equivalent","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","0","0","0","1","Group","Locate","Passwd","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","locate","name","name","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","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","Error","Result","pipe","splice","splice_exact","vmsplice","ChildExt","Code","ExitStatus","Signal","borrow","borrow_mut","clone","clone_into","code","eq","equivalent","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","0","0","Range","borrow","borrow_mut","cmp","complement","contain","eq","equivalent","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","drop","endutxent","exit_status","from","from","getutxent","host","into","into","into_inner","into_iter","is_user_process","iter_all_records","iter_all_records_from","login_time","next","pid","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::ConversionResult","","uucore::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::BackupError","","","","uucore::backup_control::arguments","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding::DecodeError","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::lines","","","","","","","","","","","uucore::memo","","","","","","","","","","","uucore::mode","","","","","uucore::os","","uucore::panic","uucore::parse_size","","","","","","","","","","","","","","","","","","uucore::parse_size::ParseSizeError","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::IfFrom","","","","uucore::perms::entries","","","","","","","","","","","","","","","","","","","uucore::perms::options","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::pipes","","","","","","uucore::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::process::ExitStatus","","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 these …","convenience function for a more slim interface","Display an error and std::process::exit","Unwrap a std::result::Result, crashing instead of …","","","Get password/group file entry","All utils return exit with an exit code. Usually, the …","Derive the complete execution phrase for “usage”.","","","","","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","","","Iterate over lines, including the line ending character(s).","","Memo runner of printf Takes a format string and arguments","Set of functions to parse modes","","Custom panic hooks that allow silencing certain types of …","","","Common functions to manage permissions","","Set of functions to manage IDs","","A fixed-size ring buffer.","","Display a crate::error::UError and set global exit code.","Show an error to stderr in a similar style to GNU …","Show a warning to stderr in a similar style to GNU …","Display an error and set global exit code in error case.","Show a bad invocation help message in a similar style to …","Print a warning message to stderr.","","","","","","","","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 to apply quoting to strings.","A wrapper around string types for displaying with quoting …","","","","","","","Toggle forced quoting. If true, quotes are added even if …","","","","Like quote(), but don’t actually add quotes unless …","Like quote(), but don’t actually add quotes unless …","Quote a string with the default style for the platform.","Quote an OsStr with the default style for the platform.","Like println_verbatim, without the trailing newline.","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 passwd.pw_gid","AKA group.gr_gid","","","","","","","","","","AKA passwd.pw_name","AKA group.gr_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 and …","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 default …","","","","","","","","","","","","Set the exit code for the program if uumain returns Ok(()).","Strip the trailing “ (os error XX)“ from io error …","","","","","","","","","","","","","","","","","Shorthand to construct UIoError-instances.","Print usage help to a custom error.","Print usage help to a custom error.","","Resolve symbolic links, ignoring errors on the final …","Information to uniquely identify a file","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.","","","","","","","","","","","","","","","","","","","Get information from a currently open file","Get information for a given path.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","An iterator over the lines of an instance of BufRead.","","","","","","Returns an iterator over the lines, including line ending …","","","","","","","","","","","","","","","","","","","","","Test if the program is running under WSL","","Terminate without error on panics that occur due to broken …","","","","","","","","","","","","","","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…","AKA passwd.pw_gid","AKA group.gr_gid","","","","AKA passwd.pw_name","AKA group.gr_name","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","","","","","","","","","","","","","","","","","","","","","Nix’s main error type.","Nix Result Type","A wrapper around nix::unistd::pipe that ensures the pipe …","Less noisy wrapper around nix::fcntl::splice.","Splice wrapper which fully finishes the write.","Copy data from bytes into target, which must be a pipe.","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 specified …","","","","","","","","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 utmpx","","","Iterate through all the utmp records.","Iterate through all the utmp records from a specific file.","A.K.A. ut.ut_tv","","A.K.A. ut.ut_pid","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,2,1,2,1,3,3,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,2,1,2,1,2,1,0,0,0,0,4,5,6,0,0,0,6,0,7,6,7,7,7,0,7,6,7,6,7,7,6,0,0,7,6,7,6,7,6,6,7,6,0,7,6,6,7,6,7,6,7,6,7,6,6,8,9,8,9,0,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,11,11,10,10,0,0,11,10,10,10,10,10,12,12,12,12,12,12,12,0,13,0,0,13,0,0,13,12,14,14,15,13,12,14,15,13,12,12,12,0,15,0,15,13,13,14,15,13,13,13,13,12,15,14,15,13,12,15,15,13,12,13,14,15,13,12,14,15,13,12,14,15,13,12,0,0,16,17,18,0,0,0,19,19,20,19,20,19,20,19,20,19,20,19,20,0,0,19,20,0,0,19,20,21,19,19,20,20,19,20,19,20,19,20,19,20,19,20,19,0,19,19,19,19,0,22,0,0,0,0,0,0,0,23,24,25,22,23,24,25,22,26,26,23,24,22,23,24,23,23,24,24,25,25,22,22,23,24,25,25,22,0,23,24,25,22,27,23,24,23,24,25,22,0,0,23,24,25,22,23,24,25,22,23,24,25,22,23,24,25,22,0,26,26,24,28,0,29,28,0,29,28,29,0,30,28,29,30,28,29,0,28,29,28,29,0,0,30,28,29,30,28,29,30,28,29,30,28,29,30,30,0,30,30,28,29,0,0,28,29,30,28,29,30,28,29,30,28,29,0,0,0,0,0,0,31,32,33,33,33,34,31,32,33,33,35,33,32,35,33,32,35,33,32,35,33,32,35,35,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,35,33,32,31,32,31,32,35,33,32,31,32,35,31,32,32,35,33,32,31,32,35,35,35,31,32,32,33,34,0,0,0,0,35,0,0,0,35,33,32,31,32,31,32,35,33,32,35,33,32,35,33,32,0,36,36,36,36,36,0,36,36,36,36,0,37,37,37,37,37,37,37,37,37,37,0,0,0,0,0,0,0,0,38,0,38,38,38,38,38,38,38,38,38,38,38,0,38,38,38,38,39,40,0,41,42,43,0,42,41,0,42,43,43,0,41,41,43,0,0,41,44,43,45,42,41,44,43,45,42,0,43,45,43,45,44,44,44,0,43,45,42,42,44,44,44,43,45,41,44,43,45,42,45,41,44,43,45,42,45,45,0,44,44,43,45,44,41,44,43,45,42,41,44,43,45,42,41,44,43,45,42,44,0,46,47,48,48,0,0,0,0,0,19,20,0,0,21,19,20,19,0,19,19,19,19,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,0,0,49,0,49,49,49,49,49,49,49,49,49,49,49,0,0,0,0,49,49,50,49,49,49,49,49,49,49,50,51,52,0,53,53,53,0,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,0,54,54,54,54,54,54,54,54,54,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,55,56,55,56,0,55,55,56,0,55,55,56,55,56,55,55,55,55,56,55,55,0,55,55,56,55,56,55,55,56,55,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,[[],["str",15]],[[["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,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[],["str",15]],null,null,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]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["backupmode",4],["path",3],["str",15]],["option",4,[["pathbuf",3]]]],[[]],[[]],[[["backuperror",4]],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],null,null,null,null,null,null,null,[[],["arg",3]],[[],["arg",3]],[[],["arg",3]],null,null,[[]],[[]],[[],["quoted",3]],[[]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[["bool",15]],["quoted",3]],[[]],[[],["quoted",3]],[[]],[[],["quoted",3]],[[],["quoted",3]],[[["str",15]],["quoted",3]],[[["osstr",3]],["quoted",3]],[[["asref",8,[["osstr",3]]]],["result",6]],[[["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",4]]],[[["decodeerror",3]]],[[]],[[]],[[["bool",15]]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["format",4]]],[[],["option",4,[["error",8]]]],[[]],[[],["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],["str",15]]],[[["write",8],["usize",15],["str",15]],["result",6]],null,null,null,null,null,null,[[],["vec",3,[["gid_t",6]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],[[["option",4,[["u32",15]]]],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],null,null,[[["gid_t",6]],["ioresult",6,[["string",3]]]],[[["str",15]],["ioresult",6,[["gid_t",6]]]],[[]],[[]],[[],["ioresult",6]],[[["uid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["gid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[["uid_t",6]],["ioresult",6,[["string",3]]]],null,null,null,null,[[["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",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[["error",3]]],[[]],[[],["i32",15]],[[]],[[]],[[]],[[]],[[]],null,null,[[["i32",15],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["i32",15],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["errorkind",4],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["i32",15]],["box",3,[["uerror",8]]]],[[["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]],null,[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,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]],[[["mode_t",6],["bool",15]],["string",3]],[[],["bool",15]],[[["missinghandling",4]],["bool",15]],[[["resolvemode",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["u64",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["option",4]],[[["bool",15]],["option",4]],null,[[]],[[]],[[]],[[]],[[["path",3]],["pathbuf",3]],[[["path",3]],["cow",4,[["path",3]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["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]],[[],["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]],["result",4,[["error",3]]]],[[],["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]]],[[],["string",3]],[[["mode_t",6],["u64",15]],["str",15]],[[["i64",15]],["cow",4,[["str",15]]]],[[["i64",15],["i64",15]],["string",3]],[[],["vec",3,[["mountinfo",3]]]],null,[[["asref",8,[["path",3]]]],["result",4,[["statfs",3],["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]],null,[[]],[[]],[[]],[[]],[[]],[[["u8",15]],["lines",3]],[[],["option",4,[["result",6,[["vec",3,[["u8",15]]]]]]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[["peekable",3]]],[[]],[[]],[[]],[[]],[[["str",15],["peekable",3]]],[[["str",15]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["u32",15]],[[["str",15]],["result",4,[["mode_t",6],["string",3]]]],[[["u32",15],["str",15],["bool",15]],["result",4,[["u32",15],["string",3]]]],[[["u32",15],["str",15],["u32",15],["bool",15]],["result",4,[["u32",15],["string",3]]]],[[["vec",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],null,null,null,[[]],[[]],[[],["str",15]],[[["parsesizeerror",4]],["bool",15]],[[],["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]],null,null,[[["str",15]],["result",4,[["duration",3],["string",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["app",3],["str",15],["bool",15]],["uresult",6]],[[],["verbositylevel",4]],[[],["verbosity",3]],[[]],[[]],null,null,null,null,[[["verbositylevel",4]],["bool",15]],[[["verbosity",3]],["bool",15]],[[["traversesymlinks",4]],["bool",15]],[[],["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,[[["asref",8,[["path",3]]],["metadata",3],["option",4,[["u32",15]]],["option",4,[["u32",15]]],["bool",15],["verbosity",3]],["result",4,[["string",3],["string",3]]]],null,null,null,null,null,null,null,[[],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],[[["option",4,[["u32",15]]]],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],null,null,[[["gid_t",6]],["ioresult",6,[["string",3]]]],[[["str",15]],["ioresult",6,[["gid_t",6]]]],[[],["ioresult",6]],null,null,null,[[["uid_t",6]],["ioresult",6,[["string",3]]]],null,null,null,null,[[["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,[[],["result",6]],[[["usize",15]],["result",6,[["usize",15]]]],[[["usize",15]],["result",6]],[[],["result",6,[["usize",15]]]],null,null,null,null,[[]],[[]],[[],["exitstatus",4]],[[]],[[],["option",4,[["i32",15]]]],[[["exitstatus",4]],["bool",15]],[[],["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]],["result",6,[["option",4,[["exitstatus",4]]]]]],null,null,null,[[]],[[]],[[["range",3]],["ordering",4]],[[],["vec",3,[["range",3]]]],[[["usize",15]],["bool",15]],[[["range",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["str",15]],["result",4,[["vec",3],["string",3]]]],[[["str",15]],["result",4,[["str",15]]]],null,[[]],null,[[["range",3]],["bool",15]],[[["range",3]],["option",4,[["ordering",4]]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],null,[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[],["option",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[["usize",15]],["bool",15]],[[["str",15]],["option",4,[["usize",15]]]],[[["usize",15]],["option",4,[["str",15]]]],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]],[[["asref",8,[["path",3]]]],["utmpxiter",3]],[[],["tm",3]],[[],["option",4]],[[],["i32",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],["str",15]],["ordering",4]]],"p":[[4,"ConversionResult"],[4,"InvalidEncodingHandling"],[8,"Args"],[13,"Complete"],[13,"Lossy"],[4,"BackupError"],[4,"BackupMode"],[13,"InvalidArgument"],[13,"AmbiguousArgument"],[3,"Quoted"],[8,"Quotable"],[4,"Format"],[4,"DecodeError"],[4,"EncodeError"],[3,"Data"],[13,"Decode"],[13,"DecodeZ85"],[13,"Io"],[3,"Passwd"],[3,"Group"],[8,"Locate"],[3,"ExitCode"],[3,"USimpleError"],[3,"UUsageError"],[3,"UIoError"],[8,"UError"],[8,"FromIo"],[4,"MissingHandling"],[4,"ResolveMode"],[3,"FileInformation"],[8,"FsMeta"],[3,"statfs_fn"],[3,"FsUsage"],[8,"BirthTime"],[3,"MountInfo"],[3,"Lines"],[3,"Memo"],[4,"ParseSizeError"],[13,"ParseFailure"],[13,"SizeTooBig"],[4,"IfFrom"],[4,"TraverseSymlinks"],[4,"VerbosityLevel"],[3,"ChownExecutor"],[3,"Verbosity"],[13,"User"],[13,"Group"],[13,"UserGroup"],[4,"ExitStatus"],[8,"ChildExt"],[13,"Code"],[13,"Signal"],[3,"Range"],[3,"RingBuffer"],[3,"Utmpx"],[3,"UtmpxIter"]]},\ +"uucore":{"doc":"","t":[8,13,4,13,13,4,13,13,11,5,0,14,11,11,11,11,11,11,14,14,0,0,0,0,5,11,11,11,11,0,0,5,14,11,11,0,23,0,0,0,0,0,0,0,0,0,0,0,5,14,14,14,14,14,14,0,11,11,11,11,11,11,14,5,0,0,12,12,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,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,7,7,7,5,5,5,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,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,12,12,12,3,8,3,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,12,5,5,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,5,12,12,12,12,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,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,14,11,11,11,13,3,13,13,4,13,13,13,4,11,11,11,11,11,11,5,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,5,5,11,11,11,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,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,3,11,11,11,11,11,5,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,13,4,13,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,12,12,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,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,12,12,12,12,3,8,3,5,5,12,12,5,5,10,12,12,12,5,12,12,12,12,5,17,17,17,17,17,17,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,6,6,5,5,5,5,8,13,4,13,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,10,11,11,11,11,11,11,11,10,12,12,3,11,11,11,5,5,11,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,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","args_os","backup_control","bin","borrow","borrow","borrow_mut","borrow_mut","collect_str","collect_str_lossy","crash","crash_if_err","display","encoding","entries","error","execution_phrase","expect_complete","expect_lossy","from","from","fs","fsext","get_utility_is_second_arg","has","into","into","lines","main","memo","mode","os","panic","parse_size","parse_time","perms","pipes","process","ranges","ringbuffer","set_utility_is_second_arg","show","show_error","show_error_custom_description","show_if_err","show_usage_error","show_warning","signals","try_from","try_from","try_into","try_into","type_id","type_id","uio_error","util_name","utmpx","version_cmp","0","0","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","equivalent","equivalent","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","0","0","1","1","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","fmt","fmt","force","from","from","into","maybe_quote","maybe_quote","native","native_raw","print_verbatim","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","0","0","0","Group","Locate","Passwd","belongs_to","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fmt","fmt","from","from","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","into","into","locate","locate","locate","locate","locate","name","name","to_owned","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","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","uio_error","usage","usage","usage","Existing","FileInformation","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","display_permissions","display_permissions_unix","eq","eq","eq","equivalent","equivalent","equivalent","file_size","fmt","fmt","from","from","from","from_file","from_path","has","hash","into","into","into","normalize_path","resolve_relative_path","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","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","equivalent","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","Lines","borrow","borrow_mut","from","into","into_iter","lines","next","try_from","try_into","type_id","Memo","apply","borrow","borrow_mut","from","into","new","run_all","try_from","try_into","type_id","get_umask","parse_mode","parse_numeric","parse_symbolic","strip_minus_from_mode","is_wsl_1","is_wsl_2","mute_sigpipe_panic","ParseFailure","ParseSizeError","SizeTooBig","borrow","borrow_mut","description","eq","equivalent","fmt","fmt","from","into","ne","parse_size","to_string","try_from","try_into","type_id","0","0","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","equivalent","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","0","0","0","1","Group","Locate","Passwd","get_groups","get_groups_gnu","gid","gid","gid2grp","grp2gid","locate","name","name","uid","uid2usr","user_dir","user_info","user_passwd","user_shell","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","Error","Result","pipe","splice","splice_exact","vmsplice","ChildExt","Code","ExitStatus","Signal","borrow","borrow_mut","clone","clone_into","code","eq","equivalent","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","0","0","Range","borrow","borrow_mut","cmp","complement","contain","eq","equivalent","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","drop","endutxent","exit_status","from","from","getutxent","host","into","into","into_inner","into_iter","is_user_process","iter_all_records","iter_all_records_from","login_time","next","pid","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::ConversionResult","","uucore::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::BackupError","","","","uucore::backup_control::arguments","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding::DecodeError","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::lines","","","","","","","","","","","uucore::memo","","","","","","","","","","","uucore::mode","","","","","uucore::os","","uucore::panic","uucore::parse_size","","","","","","","","","","","","","","","","","","uucore::parse_size::ParseSizeError","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::IfFrom","","","","uucore::perms::entries","","","","","","","","","","","","","","","","","","","uucore::perms::options","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::pipes","","","","","","uucore::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::process::ExitStatus","","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 these …","convenience function for a more slim interface","Display an error and std::process::exit","Unwrap a std::result::Result, crashing instead of …","","","Get password/group file entry","All utils return exit with an exit code. Usually, the …","Derive the complete execution phrase for “usage”.","","","","","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","","","Iterate over lines, including the line ending character(s).","","Memo runner of printf Takes a format string and arguments","Set of functions to parse modes","","Custom panic hooks that allow silencing certain types of …","","","Common functions to manage permissions","","Set of functions to manage IDs","","A fixed-size ring buffer.","","Display a crate::error::UError and set global exit code.","Show an error to stderr in a similar style to GNU …","Show a warning to stderr in a similar style to GNU …","Display an error and set global exit code in error case.","Show a bad invocation help message in a similar style to …","Print a warning message to stderr.","","","","","","","","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 to apply quoting to strings.","A wrapper around string types for displaying with quoting …","","","","","","","Toggle forced quoting. If true, quotes are added even if …","","","","Like quote(), but don’t actually add quotes unless …","Like quote(), but don’t actually add quotes unless …","Quote a string with the default style for the platform.","Quote an OsStr with the default style for the platform.","Like println_verbatim, without the trailing newline.","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 passwd.pw_gid","AKA group.gr_gid","","","","","","","","","","AKA passwd.pw_name","AKA group.gr_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 and …","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 default …","","","","","","","","","","","","Set the exit code for the program if uumain returns Ok(()).","Strip the trailing “ (os error XX)“ from io error …","","","","","","","","","","","","","","","","","Shorthand to construct UIoError-instances.","Print usage help to a custom error.","Print usage help to a custom error.","","Resolve symbolic links, ignoring errors on the final …","Information to uniquely identify a file","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.","","","","","","","","","","","","","","","","","","","Get information from a currently open file","Get information for a given path.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","An iterator over the lines of an instance of BufRead.","","","","","","Returns an iterator over the lines, including line ending …","","","","","","","","","","","","","","","","","","","","","Test if the program is running under WSL","","Terminate without error on panics that occur due to broken …","","","","","","","","","","","","","","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…","AKA passwd.pw_gid","AKA group.gr_gid","","","","AKA passwd.pw_name","AKA group.gr_name","AKA passwd.pw_uid","","AKA passwd.pw_dir","AKA passwd.pw_gecos","AKA passwd.pw_passwd","AKA passwd.pw_shell","","","","","","","","","","","","","","","","","","","","","","","Nix’s main error type.","Nix Result Type","A wrapper around nix::unistd::pipe that ensures the pipe …","Less noisy wrapper around nix::fcntl::splice.","Splice wrapper which fully finishes the write.","Copy data from bytes into target, which must be a pipe.","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 specified …","","","","","","","","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 utmpx","","","Iterate through all the utmp records.","Iterate through all the utmp records from a specific file.","A.K.A. ut.ut_tv","","A.K.A. ut.ut_pid","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,2,1,2,1,3,3,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,2,1,2,1,2,1,0,0,0,0,4,5,6,0,0,0,6,0,7,6,7,7,7,0,7,6,7,6,7,7,6,0,0,7,6,7,6,7,6,6,7,6,0,7,6,6,7,6,7,6,7,6,7,6,6,8,9,8,9,0,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,11,11,10,10,0,0,11,10,10,10,10,10,12,12,12,12,12,12,12,0,13,0,0,13,0,0,13,12,14,14,15,13,12,14,15,13,12,12,12,0,15,0,15,13,13,14,15,13,13,13,13,12,15,14,15,13,12,15,15,13,12,13,14,15,13,12,14,15,13,12,14,15,13,12,0,0,16,17,18,0,0,0,19,19,20,19,20,19,20,19,20,19,20,19,20,0,0,19,20,0,0,19,20,21,19,19,20,20,19,20,19,20,19,20,19,20,19,20,19,0,19,19,19,19,0,22,0,0,0,0,0,0,0,23,24,25,22,23,24,25,22,26,26,23,24,22,23,24,23,23,24,24,25,25,22,22,23,24,25,25,22,0,23,24,25,22,27,23,24,23,24,25,22,0,0,23,24,25,22,23,24,25,22,23,24,25,22,23,24,25,22,0,26,26,24,28,0,29,28,0,29,28,29,0,30,28,29,30,28,29,0,28,29,28,29,0,0,30,28,29,30,28,29,30,28,29,30,28,29,30,30,0,30,30,28,29,0,0,28,29,30,28,29,30,28,29,30,28,29,0,0,0,0,0,0,31,32,33,33,33,34,31,32,33,33,35,33,32,35,33,32,35,33,32,35,33,32,35,35,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,35,33,32,31,32,31,32,35,33,32,31,32,35,31,32,32,35,33,32,31,32,35,35,35,31,32,32,33,34,0,0,0,0,35,0,0,0,35,33,32,31,32,31,32,35,33,32,35,33,32,35,33,32,0,36,36,36,36,36,0,36,36,36,36,0,37,37,37,37,37,37,37,37,37,37,0,0,0,0,0,0,0,0,38,0,38,38,38,38,38,38,38,38,38,38,38,0,38,38,38,38,39,40,0,41,42,43,0,42,41,0,42,43,43,0,41,41,43,0,0,41,44,43,45,42,41,44,43,45,42,0,43,45,43,45,44,44,44,0,43,45,42,42,44,44,44,43,45,41,44,43,45,42,45,41,44,43,45,42,45,45,0,44,44,43,45,44,41,44,43,45,42,41,44,43,45,42,41,44,43,45,42,44,0,46,47,48,48,0,0,0,0,0,19,20,0,0,21,19,20,19,0,19,19,19,19,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,0,0,49,0,49,49,49,49,49,49,49,49,49,49,49,0,0,0,0,49,49,50,49,49,49,49,49,49,49,50,51,52,0,53,53,53,0,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,0,54,54,54,54,54,54,54,54,54,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,55,56,55,56,0,55,55,56,0,55,55,56,55,56,55,55,55,55,56,55,55,0,55,55,56,55,56,55,55,56,55,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,[[],["str",15]],[[["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,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[],["str",15]],null,null,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]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["backupmode",4],["path",3],["str",15]],["option",4,[["pathbuf",3]]]],[[]],[[]],[[["backuperror",4]],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["bool",15]],null,null,null,null,null,null,null,[[],["arg",3]],[[],["arg",3]],[[],["arg",3]],null,null,[[]],[[]],[[],["quoted",3]],[[]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",4,[["error",3]]]],[[["bool",15]],["quoted",3]],[[]],[[],["quoted",3]],[[]],[[],["quoted",3]],[[],["quoted",3]],[[["str",15]],["quoted",3]],[[["osstr",3]],["quoted",3]],[[["asref",8,[["osstr",3]]]],["result",6]],[[["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",4]]],[[["decodeerror",3]]],[[]],[[]],[[["bool",15]]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["format",4]]],[[],["option",4,[["error",8]]]],[[]],[[],["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],["str",15]]],[[["write",8],["usize",15],["str",15]],["result",6]],null,null,null,null,null,null,[[],["vec",3,[["gid_t",6]]]],[[]],[[]],[[]],[[]],[[],["passwd",3]],[[],["group",3]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],[[["option",4,[["u32",15]]]],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],null,null,[[["gid_t",6]],["ioresult",6,[["string",3]]]],[[["str",15]],["ioresult",6,[["gid_t",6]]]],[[]],[[]],[[],["ioresult",6]],[[["uid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],[[["gid_t",6]],["ioresult",6]],[[["str",15]],["ioresult",6]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[["uid_t",6]],["ioresult",6,[["string",3]]]],null,null,null,null,[[["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",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[["error",3]]],[[]],[[],["i32",15]],[[]],[[]],[[]],[[]],[[]],null,null,[[["i32",15],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["i32",15],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["errorkind",4],["into",8,[["string",3]]]],["box",3,[["uerror",8]]]],[[["i32",15]],["box",3,[["uerror",8]]]],[[["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]],null,[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,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]],[[["mode_t",6],["bool",15]],["string",3]],[[],["bool",15]],[[["missinghandling",4]],["bool",15]],[[["resolvemode",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["u64",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["option",4]],[[["bool",15]],["option",4]],null,[[]],[[]],[[]],[[]],[[["path",3]],["pathbuf",3]],[[["path",3]],["cow",4,[["path",3]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["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]],[[],["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]],["result",4,[["error",3]]]],[[],["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]]],[[],["string",3]],[[["mode_t",6],["u64",15]],["str",15]],[[["i64",15]],["cow",4,[["str",15]]]],[[["i64",15],["i64",15]],["string",3]],[[],["vec",3,[["mountinfo",3]]]],null,[[["asref",8,[["path",3]]]],["result",4,[["statfs",3],["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]],null,[[]],[[]],[[]],[[]],[[]],[[["u8",15]],["lines",3]],[[],["option",4,[["result",6,[["vec",3,[["u8",15]]]]]]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[["peekable",3]]],[[]],[[]],[[]],[[]],[[["str",15],["peekable",3]],["uresult",6]],[[["str",15]],["uresult",6]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["u32",15]],[[["str",15]],["result",4,[["mode_t",6],["string",3]]]],[[["u32",15],["str",15],["bool",15]],["result",4,[["u32",15],["string",3]]]],[[["u32",15],["str",15],["u32",15],["bool",15]],["result",4,[["u32",15],["string",3]]]],[[["vec",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],null,null,null,[[]],[[]],[[],["str",15]],[[["parsesizeerror",4]],["bool",15]],[[],["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]],null,null,[[["str",15]],["result",4,[["duration",3],["string",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["app",3],["str",15],["bool",15]],["uresult",6]],[[],["verbositylevel",4]],[[],["verbosity",3]],[[]],[[]],null,null,null,null,[[["verbositylevel",4]],["bool",15]],[[["verbosity",3]],["bool",15]],[[["traversesymlinks",4]],["bool",15]],[[],["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,[[["asref",8,[["path",3]]],["metadata",3],["option",4,[["u32",15]]],["option",4,[["u32",15]]],["bool",15],["verbosity",3]],["result",4,[["string",3],["string",3]]]],null,null,null,null,null,null,null,[[],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],[[["option",4,[["u32",15]]]],["ioresult",6,[["vec",3,[["gid_t",6]]]]]],null,null,[[["gid_t",6]],["ioresult",6,[["string",3]]]],[[["str",15]],["ioresult",6,[["gid_t",6]]]],[[],["ioresult",6]],null,null,null,[[["uid_t",6]],["ioresult",6,[["string",3]]]],null,null,null,null,[[["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,[[],["result",6]],[[["usize",15]],["result",6,[["usize",15]]]],[[["usize",15]],["result",6]],[[],["result",6,[["usize",15]]]],null,null,null,null,[[]],[[]],[[],["exitstatus",4]],[[]],[[],["option",4,[["i32",15]]]],[[["exitstatus",4]],["bool",15]],[[],["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]],["result",6,[["option",4,[["exitstatus",4]]]]]],null,null,null,[[]],[[]],[[["range",3]],["ordering",4]],[[],["vec",3,[["range",3]]]],[[["usize",15]],["bool",15]],[[["range",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["str",15]],["result",4,[["vec",3],["string",3]]]],[[["str",15]],["result",4,[["str",15]]]],null,[[]],null,[[["range",3]],["bool",15]],[[["range",3]],["option",4,[["ordering",4]]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],null,[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[],["option",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[["usize",15]],["bool",15]],[[["str",15]],["option",4,[["usize",15]]]],[[["usize",15]],["option",4,[["str",15]]]],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]],[[["asref",8,[["path",3]]]],["utmpxiter",3]],[[],["tm",3]],[[],["option",4]],[[],["i32",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],["str",15]],["ordering",4]]],"p":[[4,"ConversionResult"],[4,"InvalidEncodingHandling"],[8,"Args"],[13,"Complete"],[13,"Lossy"],[4,"BackupError"],[4,"BackupMode"],[13,"InvalidArgument"],[13,"AmbiguousArgument"],[3,"Quoted"],[8,"Quotable"],[4,"Format"],[4,"DecodeError"],[4,"EncodeError"],[3,"Data"],[13,"Decode"],[13,"DecodeZ85"],[13,"Io"],[3,"Passwd"],[3,"Group"],[8,"Locate"],[3,"ExitCode"],[3,"USimpleError"],[3,"UUsageError"],[3,"UIoError"],[8,"UError"],[8,"FromIo"],[4,"MissingHandling"],[4,"ResolveMode"],[3,"FileInformation"],[8,"FsMeta"],[3,"statfs_fn"],[3,"FsUsage"],[8,"BirthTime"],[3,"MountInfo"],[3,"Lines"],[3,"Memo"],[4,"ParseSizeError"],[13,"ParseFailure"],[13,"SizeTooBig"],[4,"IfFrom"],[4,"TraverseSymlinks"],[4,"VerbosityLevel"],[3,"ChownExecutor"],[3,"Verbosity"],[13,"User"],[13,"Group"],[13,"UserGroup"],[4,"ExitStatus"],[8,"ChildExt"],[13,"Code"],[13,"Signal"],[3,"Range"],[3,"RingBuffer"],[3,"Utmpx"],[3,"UtmpxIter"]]},\ "uucore_procs":{"doc":"","t":[23],"n":["main"],"q":["uucore_procs"],"d":[""],"i":[0],"f":[null],"p":[]},\ "uudoc":{"doc":"","t":[6,5,5,5,5,5,5,5],"n":["UtilityMap","main","util_map","write_description","write_markdown","write_options","write_usage","write_version"],"q":["uudoc","","","","","","",""],"d":["","","","","","","",""],"i":[0,0,0,0,0,0,0,0],"f":[null,[[],["result",6]],[[],["map",3,[["str",15]]]],[[["app",3]],["result",6]],[[["app",3],["str",15]],["result",6]],[[["app",3]],["result",6]],[[["app",3],["str",15]],["result",6]],[[["app",3]],["result",6]]],"p":[]},\ "wc":{"doc":"","t":[5],"n":["main"],"q":["wc"],"d":[""],"i":[0],"f":[[[]]],"p":[]},\ diff --git a/dev/src/uu_dd/parseargs.rs.html b/dev/src/uu_dd/parseargs.rs.html index a8215f9f0..57ab0c50b 100644 --- a/dev/src/uu_dd/parseargs.rs.html +++ b/dev/src/uu_dd/parseargs.rs.html @@ -783,6 +783,14 @@ 782 783 784 +785 +786 +787 +788 +789 +790 +791 +792
// This file is part of the uutils coreutils package.
 //
 // (c) Tyler Steele <tyler.steele@protonmail.com>
@@ -1110,6 +1118,14 @@
     }
 }
 
+fn show_zero_multiplier_warning() {
+    show_warning!(
+        "{} is a zero multiplier; use {} if that is intended",
+        "0x".quote(),
+        "00x".quote()
+    );
+}
+
 /// Parse bytes using str::parse, then map error if needed.
 fn parse_bytes_only(s: &str) -> Result<usize, ParseError> {
     s.parse()
@@ -1142,13 +1158,6 @@
 /// assert_eq!(parse_bytes_no_x("2k").unwrap(), 2 * 1024);
 /// ```
 fn parse_bytes_no_x(s: &str) -> Result<usize, ParseError> {
-    if s == "0" {
-        show_warning!(
-            "{} is a zero multiplier; use {} if that is intended",
-            "0x".quote(),
-            "00x".quote()
-        );
-    }
     let (num, multiplier) = match (s.find('c'), s.rfind('w'), s.rfind('b')) {
         (None, None, None) => match uucore::parse_size::parse_size(s) {
             Ok(n) => (n, 1),
@@ -1186,13 +1195,20 @@
 
     // Split on the 'x' characters. Each component will be parsed
     // individually, then multiplied together.
-    let mut total = 1;
-    for part in s.split('x') {
-        let num = parse_bytes_no_x(part).map_err(|e| e.with_arg(s.to_string()))?;
-        total *= num;
+    let parts: Vec<&str> = s.split('x').collect();
+    if parts.len() == 1 {
+        parse_bytes_no_x(parts[0]).map_err(|e| e.with_arg(s.to_string()))
+    } else {
+        let mut total = 1;
+        for part in parts {
+            if part == "0" {
+                show_zero_multiplier_warning();
+            }
+            let num = parse_bytes_no_x(part).map_err(|e| e.with_arg(s.to_string()))?;
+            total *= num;
+        }
+        Ok(total)
     }
-
-    Ok(total)
 }
 
 pub fn parse_ibs(matches: &Matches) -> Result<usize, ParseError> {
diff --git a/dev/src/uu_ls/ls.rs.html b/dev/src/uu_ls/ls.rs.html
index 93ca6782a..f75be6fee 100644
--- a/dev/src/uu_ls/ls.rs.html
+++ b/dev/src/uu_ls/ls.rs.html
@@ -2583,6 +2583,16 @@
 2582
 2583
 2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
 
// This file is part of the uutils coreutils package.
 //
 // (c) Jeremiah Peschka <jeremiah.peschka@gmail.com>
@@ -3994,7 +4004,8 @@ only ignore '.' and '..'.",
                 // if not, check if we can use Path metadata
                 match get_metadata(self.p_buf.as_path(), self.must_dereference) {
                     Err(err) => {
-                        let _ = out.flush();
+                        // FIXME: A bit tricky to propagate the result here
+                        out.flush().unwrap();
                         let errno = err.raw_os_error().unwrap_or(1i32);
                         // a bad fd will throw an error when dereferenced,
                         // but GNU will not throw an error until a bad fd "dir"
@@ -4058,7 +4069,7 @@ only ignore '.' and '..'.",
     sort_entries(&mut files, config, &mut out);
     sort_entries(&mut dirs, config, &mut out);
 
-    display_items(&files, config, &mut out);
+    display_items(&files, config, &mut out)?;
 
     for (pos, path_data) in dirs.iter().enumerate() {
         // Do read_dir call here to match GNU semantics by printing
@@ -4066,7 +4077,7 @@ only ignore '.' and '..'.",
         let read_dir = match fs::read_dir(&path_data.p_buf) {
             Err(err) => {
                 // flush stdout buffer before the error to preserve formatting and order
-                let _ = out.flush();
+                out.flush()?;
                 show!(LsError::IOErrorContext(err, path_data.p_buf.clone()));
                 continue;
             }
@@ -4076,12 +4087,12 @@ only ignore '.' and '..'.",
         // Print dir heading - name... 'total' comes after error display
         if initial_locs_len > 1 || config.recursive {
             if pos.eq(&0usize) && files.is_empty() {
-                let _ = writeln!(out, "{}:", path_data.p_buf.display());
+                writeln!(out, "{}:", path_data.p_buf.display())?;
             } else {
-                let _ = writeln!(out, "\n{}:", path_data.p_buf.display());
+                writeln!(out, "\n{}:", path_data.p_buf.display())?;
             }
         }
-        enter_directory(path_data, read_dir, config, &mut out);
+        enter_directory(path_data, read_dir, config, &mut out)?;
     }
 
     Ok(())
@@ -4155,7 +4166,7 @@ only ignore '.' and '..'.",
     read_dir: ReadDir,
     config: &Config,
     out: &mut BufWriter<Stdout>,
-) {
+) -> UResult<()> {
     // Create vec of entries with initial dot files
     let mut entries: Vec<PathData> = if config.files == Files::All {
         vec![
@@ -4185,7 +4196,7 @@ only ignore '.' and '..'.",
         let dir_entry = match raw_entry {
             Ok(path) => path,
             Err(err) => {
-                let _ = out.flush();
+                out.flush()?;
                 show!(LsError::IOError(err));
                 continue;
             }
@@ -4203,10 +4214,10 @@ only ignore '.' and '..'.",
 
     // Print total after any error display
     if config.format == Format::Long {
-        display_total(&entries, config, out);
+        display_total(&entries, config, out)?;
     }
 
-    display_items(&entries, config, out);
+    display_items(&entries, config, out)?;
 
     if config.recursive {
         for e in entries
@@ -4218,17 +4229,19 @@ only ignore '.' and '..'.",
         {
             match fs::read_dir(&e.p_buf) {
                 Err(err) => {
-                    let _ = out.flush();
+                    out.flush()?;
                     show!(LsError::IOErrorContext(err, e.p_buf.clone()));
                     continue;
                 }
                 Ok(rd) => {
-                    let _ = writeln!(out, "\n{}:", e.p_buf.display());
-                    enter_directory(e, rd, config, out);
+                    writeln!(out, "\n{}:", e.p_buf.display())?;
+                    enter_directory(e, rd, config, out)?;
                 }
             }
         }
     }
+
+    Ok(())
 }
 
 fn get_metadata(p_buf: &Path, dereference: bool) -> std::io::Result<Metadata> {
@@ -4276,7 +4289,7 @@ only ignore '.' and '..'.",
     format!("{:<width$}", string, width = count)
 }
 
-fn display_total(items: &[PathData], config: &Config, out: &mut BufWriter<Stdout>) {
+fn display_total(items: &[PathData], config: &Config, out: &mut BufWriter<Stdout>) -> UResult<()> {
     let mut total_size = 0;
     for item in items {
         total_size += item
@@ -4284,10 +4297,11 @@ only ignore '.' and '..'.",
             .as_ref()
             .map_or(0, |md| get_block_size(md, config));
     }
-    let _ = writeln!(out, "total {}", display_size(total_size, config));
+    writeln!(out, "total {}", display_size(total_size, config))?;
+    Ok(())
 }
 
-fn display_items(items: &[PathData], config: &Config, out: &mut BufWriter<Stdout>) {
+fn display_items(items: &[PathData], config: &Config, out: &mut BufWriter<Stdout>) -> UResult<()> {
     // `-Z`, `--context`:
     // Display the SELinux security context or '?' if none is found. When used with the `-l`
     // option, print the security context to the left of the size column.
@@ -4296,7 +4310,7 @@ only ignore '.' and '..'.",
         let padding_collection = calculate_padding_collection(items, config, out);
 
         for item in items {
-            display_item_long(item, &padding_collection, config, out);
+            display_item_long(item, &padding_collection, config, out)?;
         }
     } else {
         let mut longest_context_len = 1;
@@ -4333,13 +4347,13 @@ only ignore '.' and '..'.",
             .into_iter();
 
         match config.format {
-            Format::Columns => display_grid(names, config.width, Direction::TopToBottom, out),
-            Format::Across => display_grid(names, config.width, Direction::LeftToRight, out),
+            Format::Columns => display_grid(names, config.width, Direction::TopToBottom, out)?,
+            Format::Across => display_grid(names, config.width, Direction::LeftToRight, out)?,
             Format::Commas => {
                 let mut current_col = 0;
                 let mut names = names;
                 if let Some(name) = names.next() {
-                    let _ = write!(out, "{}", name.contents);
+                    write!(out, "{}", name.contents)?;
                     current_col = name.width as u16 + 2;
                 }
                 for name in names {
@@ -4347,25 +4361,27 @@ only ignore '.' and '..'.",
                     // If the width is 0 we print one single line
                     if config.width != 0 && current_col + name_width + 1 > config.width {
                         current_col = name_width + 2;
-                        let _ = write!(out, ",\n{}", name.contents);
+                        write!(out, ",\n{}", name.contents)?;
                     } else {
                         current_col += name_width + 2;
-                        let _ = write!(out, ", {}", name.contents);
+                        write!(out, ", {}", name.contents)?;
                     }
                 }
                 // Current col is never zero again if names have been printed.
                 // So we print a newline.
                 if current_col > 0 {
-                    let _ = writeln!(out,);
+                    writeln!(out,)?;
                 }
             }
             _ => {
                 for name in names {
-                    let _ = writeln!(out, "{}", name.contents);
+                    writeln!(out, "{}", name.contents)?;
                 }
             }
-        }
+        };
     }
+
+    Ok(())
 }
 
 fn get_block_size(md: &Metadata, config: &Config) -> u64 {
@@ -4384,6 +4400,7 @@ only ignore '.' and '..'.",
 
     #[cfg(not(unix))]
     {
+        // Silence linter warning about `config` being unused for windows.
         let _ = config;
         // no way to get block size for windows, fall-back to file size
         md.len()
@@ -4395,19 +4412,19 @@ only ignore '.' and '..'.",
     width: u16,
     direction: Direction,
     out: &mut BufWriter<Stdout>,
-) {
+) -> UResult<()> {
     if width == 0 {
         // If the width is 0 we print one single line
         let mut printed_something = false;
         for name in names {
             if printed_something {
-                let _ = write!(out, "  ");
+                write!(out, "  ")?;
             }
             printed_something = true;
-            let _ = write!(out, "{}", name.contents);
+            write!(out, "{}", name.contents)?;
         }
         if printed_something {
-            let _ = writeln!(out);
+            writeln!(out)?;
         }
     } else {
         let mut grid = Grid::new(GridOptions {
@@ -4421,14 +4438,15 @@ only ignore '.' and '..'.",
 
         match grid.fit_into_width(width as usize) {
             Some(output) => {
-                let _ = write!(out, "{}", output);
+                write!(out, "{}", output)?;
             }
             // Width is too small for the grid, so we fit it in one column
             None => {
-                let _ = write!(out, "{}", grid.fit_into_columns(1));
+                write!(out, "{}", grid.fit_into_columns(1))?;
             }
         }
     }
+    Ok(())
 }
 
 /// This writes to the BufWriter out a single string of the output of `ls -l`.
@@ -4464,16 +4482,16 @@ only ignore '.' and '..'.",
     padding: &PaddingCollection,
     config: &Config,
     out: &mut BufWriter<Stdout>,
-) {
+) -> UResult<()> {
     if let Some(md) = item.md(out) {
         #[cfg(unix)]
         {
             if config.inode {
-                let _ = write!(out, "{} ", pad_left(&get_inode(md), padding.inode),);
+                write!(out, "{} ", pad_left(&get_inode(md), padding.inode))?;
             }
         }
 
-        let _ = write!(
+        write!(
             out,
             "{}{} {}",
             display_permissions(md, true),
@@ -4484,49 +4502,49 @@ only ignore '.' and '..'.",
             } else {
                 ""
             },
-            pad_left(&display_symlink_count(md), padding.link_count),
-        );
+            pad_left(&display_symlink_count(md), padding.link_count)
+        )?;
 
         if config.long.owner {
-            let _ = write!(
+            write!(
                 out,
                 " {}",
-                pad_right(&display_uname(md, config), padding.uname),
-            );
+                pad_right(&display_uname(md, config), padding.uname)
+            )?;
         }
 
         if config.long.group {
-            let _ = write!(
+            write!(
                 out,
                 " {}",
-                pad_right(&display_group(md, config), padding.group),
-            );
+                pad_right(&display_group(md, config), padding.group)
+            )?;
         }
 
         if config.context {
-            let _ = write!(
+            write!(
                 out,
                 " {}",
-                pad_right(&item.security_context, padding.context),
-            );
+                pad_right(&item.security_context, padding.context)
+            )?;
         }
 
         // Author is only different from owner on GNU/Hurd, so we reuse
         // the owner, since GNU/Hurd is not currently supported by Rust.
         if config.long.author {
-            let _ = write!(
+            write!(
                 out,
                 " {}",
-                pad_right(&display_uname(md, config), padding.uname),
-            );
+                pad_right(&display_uname(md, config), padding.uname)
+            )?;
         }
 
         match display_size_or_rdev(md, config) {
             SizeOrDeviceId::Size(size) => {
-                let _ = write!(out, " {}", pad_left(&size, padding.size),);
+                write!(out, " {}", pad_left(&size, padding.size))?;
             }
             SizeOrDeviceId::Device(major, minor) => {
-                let _ = write!(
+                write!(
                     out,
                     " {}, {}",
                     pad_left(
@@ -4547,19 +4565,19 @@ only ignore '.' and '..'.",
                         #[cfg(unix)]
                         padding.minor,
                     ),
-                );
+                )?;
             }
         };
 
         let dfn = display_file_name(item, config, None, 0, out).contents;
 
-        let _ = writeln!(out, " {} {}", display_date(md, config), dfn);
+        writeln!(out, " {} {}", display_date(md, config), dfn)?;
     } else {
         // this 'else' is expressly for the case of a dangling symlink/restricted file
         #[cfg(unix)]
         {
             if config.inode {
-                let _ = write!(out, "{} ", pad_left("?", padding.inode),);
+                write!(out, "{} ", pad_left("?", padding.inode))?;
             }
         }
 
@@ -4596,7 +4614,7 @@ only ignore '.' and '..'.",
             }
         };
 
-        let _ = write!(
+        write!(
             out,
             "{}{} {}",
             format_args!("{}?????????", leading_char),
@@ -4607,42 +4625,44 @@ only ignore '.' and '..'.",
             } else {
                 ""
             },
-            pad_left("?", padding.link_count),
-        );
+            pad_left("?", padding.link_count)
+        )?;
 
         if config.long.owner {
-            let _ = write!(out, " {}", pad_right("?", padding.uname));
+            write!(out, " {}", pad_right("?", padding.uname))?;
         }
 
         if config.long.group {
-            let _ = write!(out, " {}", pad_right("?", padding.group));
+            write!(out, " {}", pad_right("?", padding.group))?;
         }
 
         if config.context {
-            let _ = write!(
+            write!(
                 out,
                 " {}",
                 pad_right(&item.security_context, padding.context)
-            );
+            )?;
         }
 
         // Author is only different from owner on GNU/Hurd, so we reuse
         // the owner, since GNU/Hurd is not currently supported by Rust.
         if config.long.author {
-            let _ = write!(out, " {}", pad_right("?", padding.uname));
+            write!(out, " {}", pad_right("?", padding.uname))?;
         }
 
         let dfn = display_file_name(item, config, None, 0, out).contents;
         let date_len = 12;
 
-        let _ = writeln!(
+        writeln!(
             out,
             " {} {} {}",
             pad_left("?", padding.size),
             pad_left("?", date_len),
             dfn,
-        );
+        )?;
     }
+
+    Ok(())
 }
 
 #[cfg(unix)]
diff --git a/dev/src/uu_printf/printf.rs.html b/dev/src/uu_printf/printf.rs.html
index 6ee163c61..77b51f343 100644
--- a/dev/src/uu_printf/printf.rs.html
+++ b/dev/src/uu_printf/printf.rs.html
@@ -591,7 +591,7 @@ COPYRIGHT :
         None => vec![],
     };
 
-    memo::Memo::run_all(format_string, &values[..]);
+    memo::Memo::run_all(format_string, &values[..])?;
     Ok(())
 }
 
diff --git a/dev/src/uu_seq/seq.rs.html b/dev/src/uu_seq/seq.rs.html
index a66edec01..7ec2cfd8c 100644
--- a/dev/src/uu_seq/seq.rs.html
+++ b/dev/src/uu_seq/seq.rs.html
@@ -364,6 +364,14 @@
 363
 364
 365
+366
+367
+368
+369
+370
+371
+372
+373
 
//  * This file is part of the uutils coreutils package.
 //  *
 //  * For the full copyright and license information, please view the LICENSE
@@ -371,6 +379,7 @@
 // TODO: Support -f flag
 // spell-checker:ignore (ToDO) istr chiter argptr ilen extendedbigdecimal extendedbigint numberparse
 use std::io::{stdout, ErrorKind, Write};
+use std::process::exit;
 
 use clap::{crate_version, App, AppSettings, Arg};
 use num_traits::Zero;
@@ -378,6 +387,7 @@
 use uucore::error::FromIo;
 use uucore::error::UResult;
 use uucore::memo::Memo;
+use uucore::show;
 
 mod error;
 mod extendedbigdecimal;
@@ -653,7 +663,10 @@
         match format {
             Some(f) => {
                 let s = format!("{}", value);
-                Memo::run_all(f, &[s]);
+                if let Err(x) = Memo::run_all(f, &[s]) {
+                    show!(x);
+                    exit(1);
+                }
             }
             None => write_value_float(
                 &mut stdout,
@@ -715,7 +728,10 @@
         match format {
             Some(f) => {
                 let s = format!("{}", value);
-                Memo::run_all(f, &[s]);
+                if let Err(x) = Memo::run_all(f, &[s]) {
+                    show!(x);
+                    exit(1);
+                }
             }
             None => write_value_int(&mut stdout, &value, padding, pad, is_first_iteration)?,
         }
diff --git a/dev/src/uucore/features/memo.rs.html b/dev/src/uucore/features/memo.rs.html
index bbbe06464..d8b75e898 100644
--- a/dev/src/uucore/features/memo.rs.html
+++ b/dev/src/uucore/features/memo.rs.html
@@ -83,6 +83,7 @@
 82
 83
 84
+85
 
//! Memo runner of printf
 //! Takes a format string and arguments
 //! 1. tokenize format string into tokens, consuming
@@ -91,6 +92,7 @@
 //! that prints tokens.
 
 use crate::display::Quotable;
+use crate::error::UResult;
 use crate::features::tokenize::sub::Sub;
 use crate::features::tokenize::token::{Token, Tokenizer};
 use crate::features::tokenize::unescaped_text::UnescapedText;
@@ -111,17 +113,17 @@
 }
 
 impl Memo {
-    pub fn new(pf_string: &str, pf_args_it: &mut Peekable<Iter<String>>) -> Self {
+    pub fn new(pf_string: &str, pf_args_it: &mut Peekable<Iter<String>>) -> UResult<Self> {
         let mut pm = Self { tokens: Vec::new() };
         let mut tmp_token: Option<Box<dyn Token>>;
         let mut it = put_back_n(pf_string.chars());
         let mut has_sub = false;
         loop {
-            tmp_token = UnescapedText::from_it(&mut it, pf_args_it);
+            tmp_token = UnescapedText::from_it(&mut it, pf_args_it)?;
             if let Some(x) = tmp_token {
                 pm.tokens.push(x);
             }
-            tmp_token = Sub::from_it(&mut it, pf_args_it);
+            tmp_token = Sub::from_it(&mut it, pf_args_it)?;
             if let Some(x) = tmp_token {
                 if !has_sub {
                     has_sub = true;
@@ -149,19 +151,19 @@
                 }
             }
         }
-        pm
+        Ok(pm)
     }
     pub fn apply(&self, pf_args_it: &mut Peekable<Iter<String>>) {
         for tkn in &self.tokens {
             tkn.print(pf_args_it);
         }
     }
-    pub fn run_all(pf_string: &str, pf_args: &[String]) {
+    pub fn run_all(pf_string: &str, pf_args: &[String]) -> UResult<()> {
         let mut arg_it = pf_args.iter().peekable();
-        let pm = Self::new(pf_string, &mut arg_it);
+        let pm = Self::new(pf_string, &mut arg_it)?;
         loop {
             if arg_it.peek().is_none() {
-                break;
+                return Ok(());
             }
             pm.apply(&mut arg_it);
         }
diff --git a/dev/src/uucore/features/tokenize/sub.rs.html b/dev/src/uucore/features/tokenize/sub.rs.html
index b952b0174..a2def47fc 100644
--- a/dev/src/uucore/features/tokenize/sub.rs.html
+++ b/dev/src/uucore/features/tokenize/sub.rs.html
@@ -420,6 +420,30 @@
 419
 420
 421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
 
// spell-checker:ignore (vars) charf decf floatf intf scif strf Cninety
 
 //! Sub is a token that represents a
@@ -427,8 +451,10 @@
 //! it is created by Sub's implementation of the Tokenizer trait
 //! Subs which have numeric field chars make use of the num_format
 //! submodule
-use crate::show_error;
+use crate::error::{UError, UResult};
 use itertools::{put_back_n, PutBackN};
+use std::error::Error;
+use std::fmt::Display;
 use std::iter::Peekable;
 use std::process::exit;
 use std::slice::Iter;
@@ -442,11 +468,23 @@
 
 const EXIT_ERR: i32 = 1;
 
-fn err_conv(sofar: &str) {
-    show_error!("%{}: invalid conversion specification", sofar);
-    exit(EXIT_ERR);
+#[derive(Debug)]
+pub enum SubError {
+    InvalidSpec(String),
 }
 
+impl Display for SubError {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
+        match self {
+            Self::InvalidSpec(s) => write!(f, "%{}: invalid conversion specification", s),
+        }
+    }
+}
+
+impl Error for SubError {}
+
+impl UError for SubError {}
+
 fn convert_asterisk_arg_int(asterisk_arg: &str) -> isize {
     // this is a costly way to parse the
     // args used for asterisk values into integers
@@ -538,14 +576,14 @@
     fn from_it(
         it: &mut PutBackN<Chars>,
         args: &mut Peekable<Iter<String>>,
-    ) -> Option<Box<dyn token::Token>> {
+    ) -> UResult<Option<Box<dyn token::Token>>> {
         let mut parser = Self::new();
-        if parser.sub_vals_retrieved(it) {
+        if parser.sub_vals_retrieved(it)? {
             let t: Box<dyn token::Token> = Self::build_token(parser);
             t.print(args);
-            Some(t)
+            Ok(Some(t))
         } else {
-            None
+            Ok(None)
         }
     }
     fn build_token(parser: Self) -> Box<dyn token::Token> {
@@ -573,9 +611,9 @@
         ));
         t
     }
-    fn sub_vals_retrieved(&mut self, it: &mut PutBackN<Chars>) -> bool {
-        if !Self::successfully_eat_prefix(it, &mut self.text_so_far) {
-            return false;
+    fn sub_vals_retrieved(&mut self, it: &mut PutBackN<Chars>) -> UResult<bool> {
+        if !Self::successfully_eat_prefix(it, &mut self.text_so_far)? {
+            return Ok(false);
         }
         // this fn in particular is much longer than it needs to be
         // .could get a lot
@@ -599,7 +637,7 @@
                 '-' | '*' | '0'..='9' => {
                     if !self.past_decimal {
                         if self.min_width_is_asterisk || self.specifiers_found {
-                            err_conv(&self.text_so_far);
+                            return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
                         }
                         if self.min_width_tmp.is_none() {
                             self.min_width_tmp = Some(String::new());
@@ -607,7 +645,9 @@
                         match self.min_width_tmp.as_mut() {
                             Some(x) => {
                                 if (ch == '-' || ch == '*') && !x.is_empty() {
-                                    err_conv(&self.text_so_far);
+                                    return Err(
+                                        SubError::InvalidSpec(self.text_so_far.clone()).into()
+                                    );
                                 }
                                 if ch == '*' {
                                     self.min_width_is_asterisk = true;
@@ -622,7 +662,7 @@
                         // second field should never have a
                         // negative value
                         if self.second_field_is_asterisk || ch == '-' || self.specifiers_found {
-                            err_conv(&self.text_so_far);
+                            return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
                         }
                         if self.second_field_tmp.is_none() {
                             self.second_field_tmp = Some(String::new());
@@ -630,7 +670,9 @@
                         match self.second_field_tmp.as_mut() {
                             Some(x) => {
                                 if ch == '*' && !x.is_empty() {
-                                    err_conv(&self.text_so_far);
+                                    return Err(
+                                        SubError::InvalidSpec(self.text_so_far.clone()).into()
+                                    );
                                 }
                                 if ch == '*' {
                                     self.second_field_is_asterisk = true;
@@ -647,7 +689,7 @@
                     if !self.past_decimal {
                         self.past_decimal = true;
                     } else {
-                        err_conv(&self.text_so_far);
+                        return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
                     }
                 }
                 x if legal_fields.binary_search(&x).is_ok() => {
@@ -664,18 +706,18 @@
                     }
                 }
                 _ => {
-                    err_conv(&self.text_so_far);
+                    return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
                 }
             }
         }
         if self.field_char.is_none() {
-            err_conv(&self.text_so_far);
+            return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
         }
         let field_char_retrieved = self.field_char.unwrap();
         if self.past_decimal && self.second_field_tmp.is_none() {
             self.second_field_tmp = Some(String::from("0"));
         }
-        self.validate_field_params(field_char_retrieved);
+        self.validate_field_params(field_char_retrieved)?;
         // if the dot is provided without a second field
         // printf interprets it as 0.
         if let Some(x) = self.second_field_tmp.as_mut() {
@@ -684,9 +726,12 @@
             }
         }
 
-        true
+        Ok(true)
     }
-    fn successfully_eat_prefix(it: &mut PutBackN<Chars>, text_so_far: &mut String) -> bool {
+    fn successfully_eat_prefix(
+        it: &mut PutBackN<Chars>,
+        text_so_far: &mut String,
+    ) -> UResult<bool> {
         // get next two chars,
         // if they're '%%' we're not tokenizing it
         // else put chars back
@@ -696,12 +741,11 @@
             match n_ch {
                 Some(x) => {
                     it.put_back(x);
-                    true
+                    Ok(true)
                 }
                 None => {
                     text_so_far.push('%');
-                    err_conv(text_so_far);
-                    false
+                    Err(SubError::InvalidSpec(text_so_far.clone()).into())
                 }
             }
         } else {
@@ -711,10 +755,10 @@
             if let Some(x) = preface {
                 it.put_back(x);
             };
-            false
+            Ok(false)
         }
     }
-    fn validate_field_params(&self, field_char: char) {
+    fn validate_field_params(&self, field_char: char) -> UResult<()> {
         // check for illegal combinations here when possible vs
         // on each application so we check less per application
         // to do: move these checks to Sub::new
@@ -726,8 +770,12 @@
                     || self.past_decimal
                     || self.second_field_tmp.is_some()))
         {
-            err_conv(&self.text_so_far);
+            // invalid string substitution
+            // to do: include information about an invalid
+            // string substitution
+            return Err(SubError::InvalidSpec(self.text_so_far.clone()).into());
         }
+        Ok(())
     }
 }
 
@@ -735,7 +783,7 @@
     fn from_it(
         it: &mut PutBackN<Chars>,
         args: &mut Peekable<Iter<String>>,
-    ) -> Option<Box<dyn token::Token>> {
+    ) -> UResult<Option<Box<dyn token::Token>>> {
         SubParser::from_it(it, args)
     }
 }
diff --git a/dev/src/uucore/features/tokenize/token.rs.html b/dev/src/uucore/features/tokenize/token.rs.html
index a2d1bfaf8..1fe70eda2 100644
--- a/dev/src/uucore/features/tokenize/token.rs.html
+++ b/dev/src/uucore/features/tokenize/token.rs.html
@@ -30,12 +30,16 @@
 29
 30
 31
+32
+33
 
//! Traits and enums dealing with Tokenization of printf Format String
 use itertools::PutBackN;
 use std::iter::Peekable;
 use std::slice::Iter;
 use std::str::Chars;
 
+use crate::error::UResult;
+
 // A token object is an object that can print the expected output
 // of a contiguous segment of the format string, and
 // requires at most 1 argument
@@ -59,7 +63,7 @@
     fn from_it(
         it: &mut PutBackN<Chars>,
         args: &mut Peekable<Iter<String>>,
-    ) -> Option<Box<dyn Token>>;
+    ) -> UResult<Option<Box<dyn Token>>>;
 }
 
diff --git a/dev/src/uucore/features/tokenize/unescaped_text.rs.html b/dev/src/uucore/features/tokenize/unescaped_text.rs.html index d8059d6d7..0a21a137d 100644 --- a/dev/src/uucore/features/tokenize/unescaped_text.rs.html +++ b/dev/src/uucore/features/tokenize/unescaped_text.rs.html @@ -276,6 +276,8 @@ 275 276 277 +278 +279
//! UnescapedText is a tokenizer impl
 //! for tokenizing character literals,
 //! and escaped character literals (of allowed escapes),
@@ -291,6 +293,8 @@
 use std::slice::Iter;
 use std::str::Chars;
 
+use crate::error::UResult;
+
 use super::token;
 
 const EXIT_OK: i32 = 0;
@@ -544,8 +548,8 @@
     fn from_it(
         it: &mut PutBackN<Chars>,
         _: &mut Peekable<Iter<String>>,
-    ) -> Option<Box<dyn token::Token>> {
-        Self::from_it_core(it, false)
+    ) -> UResult<Option<Box<dyn token::Token>>> {
+        Ok(Self::from_it_core(it, false))
     }
 }
 impl token::Token for UnescapedText {
diff --git a/dev/uu_ls/index.html b/dev/uu_ls/index.html
index 8b4cfe69c..6e3421af8 100644
--- a/dev/uu_ls/index.html
+++ b/dev/uu_ls/index.html
@@ -1,5 +1,5 @@
 uu_ls - Rust
-    

Crate uu_ls[][src]

Modules

+

Crate uu_ls[][src]

Modules

Functions

\ No newline at end of file diff --git a/dev/uu_seq/fn.uu_app.html b/dev/uu_seq/fn.uu_app.html index 526390392..3f4da1053 100644 --- a/dev/uu_seq/fn.uu_app.html +++ b/dev/uu_seq/fn.uu_app.html @@ -1,3 +1,3 @@ uu_app in uu_seq - Rust -

Function uu_seq::uu_app[][src]

pub fn uu_app<'a>() -> App<'a>
+

Function uu_seq::uu_app[][src]

pub fn uu_app<'a>() -> App<'a>
\ No newline at end of file diff --git a/dev/uu_seq/fn.uumain.html b/dev/uu_seq/fn.uumain.html index f9f4bc767..3854fd1a3 100644 --- a/dev/uu_seq/fn.uumain.html +++ b/dev/uu_seq/fn.uumain.html @@ -1,3 +1,3 @@ uumain in uu_seq - Rust -

Function uu_seq::uumain[][src]

pub fn uumain(args: impl Args) -> i32
+

Function uu_seq::uumain[][src]

pub fn uumain(args: impl Args) -> i32
\ No newline at end of file diff --git a/dev/uu_seq/index.html b/dev/uu_seq/index.html index 3ea45e1f9..3f39679e5 100644 --- a/dev/uu_seq/index.html +++ b/dev/uu_seq/index.html @@ -1,4 +1,4 @@ uu_seq - Rust -

Crate uu_seq[][src]

Functions

+

Crate uu_seq[][src]

Functions

\ No newline at end of file diff --git a/dev/uucore/memo/index.html b/dev/uucore/memo/index.html index 8cd6a8e9a..7f6899d1f 100644 --- a/dev/uucore/memo/index.html +++ b/dev/uucore/memo/index.html @@ -1,5 +1,5 @@ uucore::memo - Rust -

Module uucore::memo[][src]

Expand description

Memo runner of printf +

Module uucore::memo[][src]

Expand description

Memo runner of printf Takes a format string and arguments

  1. tokenize format string into tokens, consuming diff --git a/dev/uucore/memo/struct.Memo.html b/dev/uucore/memo/struct.Memo.html index 44b34fb44..336f2328f 100644 --- a/dev/uucore/memo/struct.Memo.html +++ b/dev/uucore/memo/struct.Memo.html @@ -1,5 +1,5 @@ Memo in uucore::memo - Rust -

    Struct uucore::memo::Memo[][src]

    pub struct Memo { /* fields omitted */ }

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Struct uucore::memo::Memo[][src]

    pub struct Memo { /* fields omitted */ }

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    Immutably borrows from an owned value. Read more

    Mutably borrows from an owned value. Read more

    Performs the conversion.