From 040bec3cf37afe9aaa4afdb884af7af7c7c5e4a0 Mon Sep 17 00:00:00 2001 From: sylvestre Date: Sun, 28 May 2023 02:46:15 +0000 Subject: [PATCH] deploy: f0e8d44e6e64ee3354f95864c0a25b74cf1c1151 --- dev/implementors/core/clone/trait.Clone.js | 6 +- dev/implementors/core/cmp/trait.Eq.js | 6 +- dev/implementors/core/cmp/trait.PartialEq.js | 6 +- dev/implementors/core/convert/trait.From.js | 4 +- dev/implementors/core/error/trait.Error.js | 2 +- dev/implementors/core/fmt/trait.Debug.js | 10 +- dev/implementors/core/fmt/trait.Display.js | 2 +- .../iter/traits/iterator/trait.Iterator.js | 2 +- dev/implementors/core/marker/trait.Copy.js | 6 +- .../core/marker/trait.StructuralEq.js | 6 +- .../core/marker/trait.StructuralPartialEq.js | 6 +- dev/search-index.js | 10 +- dev/src/uu_date/date.rs.html | 14 + dev/src/uu_hashsum/hashsum.rs.html | 112 ++- dev/src/uu_more/more.rs.html | 134 ++- dev/src/uu_wc/countable.rs.html | 2 + dev/src/uu_wc/wc.rs.html | 936 ++++++++++++------ dev/src/uu_wc/word_count.rs.html | 32 - dev/uu_chgrp/entries/struct.Passwd.html | 2 +- dev/uu_chown/entries/struct.Passwd.html | 2 +- dev/uu_chown/struct.Passwd.html | 2 +- dev/uu_cp/enum.Error.html | 2 +- dev/uu_date/fn.uu_app.html | 2 +- dev/uu_date/index.html | 2 +- dev/uu_factor/struct.Factors.html | 2 +- dev/uu_hashsum/fn.uu_app_b3sum.html | 2 +- dev/uu_hashsum/fn.uu_app_bits.html | 2 +- dev/uu_hashsum/fn.uu_app_common.html | 2 +- dev/uu_hashsum/fn.uu_app_custom.html | 2 +- dev/uu_hashsum/fn.uu_app_length.html | 2 +- dev/uu_hashsum/fn.uumain.html | 2 +- dev/uu_hashsum/index.html | 2 +- dev/uu_more/fn.uu_app.html | 2 +- dev/uu_more/fn.uumain.html | 2 +- dev/uu_more/index.html | 2 +- dev/uu_wc/all.html | 2 +- dev/uu_wc/fn.uu_app.html | 2 +- dev/uu_wc/fn.uumain.html | 2 +- dev/uu_wc/index.html | 2 +- dev/uu_wc/options/index.html | 1 - dev/uu_wc/options/sidebar-items.js | 1 - dev/uu_wc/options/static.BYTES.html | 1 - dev/uu_wc/options/static.CHAR.html | 1 - dev/uu_wc/options/static.FILES0_FROM.html | 1 - dev/uu_wc/options/static.LINES.html | 1 - dev/uu_wc/options/static.MAX_LINE_LENGTH.html | 1 - dev/uu_wc/options/static.TOTAL.html | 1 - dev/uu_wc/options/static.WORDS.html | 1 - dev/uu_wc/sidebar-items.js | 2 +- dev/uucore/encoding/enum.DecodeError.html | 2 +- dev/uucore/entries/struct.Passwd.html | 2 +- dev/uucore/error/struct.ClapErrorWrapper.html | 2 +- dev/uucore/error/struct.USimpleError.html | 2 +- dev/uucore/error/trait.FromIo.html | 4 +- dev/uucore/error/trait.UClapError.html | 2 +- dev/uucore/error/trait.UError.html | 4 +- .../parse_size/enum.ParseSizeError.html | 2 +- dev/uucore/perms/entries/struct.Passwd.html | 2 +- 58 files changed, 945 insertions(+), 426 deletions(-) delete mode 100644 dev/uu_wc/options/index.html delete mode 100644 dev/uu_wc/options/sidebar-items.js delete mode 100644 dev/uu_wc/options/static.BYTES.html delete mode 100644 dev/uu_wc/options/static.CHAR.html delete mode 100644 dev/uu_wc/options/static.FILES0_FROM.html delete mode 100644 dev/uu_wc/options/static.LINES.html delete mode 100644 dev/uu_wc/options/static.MAX_LINE_LENGTH.html delete mode 100644 dev/uu_wc/options/static.TOTAL.html delete mode 100644 dev/uu_wc/options/static.WORDS.html diff --git a/dev/implementors/core/clone/trait.Clone.js b/dev/implementors/core/clone/trait.Clone.js index 1b99868a2..f0861ac56 100644 --- a/dev/implementors/core/clone/trait.Clone.js +++ b/dev/implementors/core/clone/trait.Clone.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"uu_cp":[["impl Clone for ReflinkMode"],["impl Clone for OverwriteMode"],["impl Clone for ClobberMode"],["impl Clone for SparseMode"]], +"uu_cp":[["impl Clone for OverwriteMode"],["impl Clone for ReflinkMode"],["impl Clone for SparseMode"],["impl Clone for ClobberMode"]], "uu_factor":[["impl Clone for Factors"]], "uu_install":[["impl Clone for MainFunction"]], "uu_kill":[["impl Clone for Mode"]], @@ -8,6 +8,6 @@ "uu_numfmt":[["impl Clone for RoundMethod"]], "uu_sort":[["impl<'a> Clone for Line<'a>"],["impl Clone for GlobalSettings"],["impl Clone for GeneralF64ParseResult"]], "uu_stty":[["impl<T: Clone> Clone for Flag<T>"]], -"uu_tail":[["impl Clone for BytesChunk"],["impl Clone for Signum"],["impl Clone for FollowMode"]], -"uucore":[["impl Clone for Format"],["impl Clone for UpdateMode"],["impl Clone for MissingHandling"],["impl Clone for BackupMode"],["impl Clone for Quotes"],["impl Clone for ResolveMode"],["impl Clone for MountInfo"],["impl Clone for FsUsage"],["impl Clone for Group"],["impl Clone for Verbosity"],["impl Clone for VerbosityLevel"],["impl Clone for Passwd"]] +"uu_tail":[["impl Clone for FollowMode"],["impl Clone for BytesChunk"],["impl Clone for Signum"]], +"uucore":[["impl Clone for UpdateMode"],["impl Clone for FsUsage"],["impl Clone for ResolveMode"],["impl Clone for Group"],["impl Clone for Format"],["impl Clone for BackupMode"],["impl Clone for Verbosity"],["impl Clone for Quotes"],["impl Clone for MountInfo"],["impl Clone for Passwd"],["impl Clone for MissingHandling"],["impl Clone for VerbosityLevel"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/cmp/trait.Eq.js b/dev/implementors/core/cmp/trait.Eq.js index 9aac517af..1ee360504 100644 --- a/dev/implementors/core/cmp/trait.Eq.js +++ b/dev/implementors/core/cmp/trait.Eq.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"uu_cp":[["impl Eq for OverwriteMode"],["impl Eq for Preserve"],["impl Eq for ClobberMode"],["impl Eq for ReflinkMode"],["impl Eq for SparseMode"]], +"uu_cp":[["impl Eq for ReflinkMode"],["impl Eq for SparseMode"],["impl Eq for OverwriteMode"],["impl Eq for ClobberMode"],["impl Eq for Preserve"]], "uu_dircolors":[["impl Eq for OutputFmt"]], "uu_factor":[["impl Eq for Factors"]], "uu_install":[["impl Eq for MainFunction"]], @@ -7,6 +7,6 @@ "uu_ls":[["impl Eq for Format"]], "uu_mv":[["impl Eq for OverwriteMode"]], "uu_numfmt":[["impl Eq for FormatOptions"]], -"uu_tail":[["impl Eq for FollowMode"],["impl Eq for Signum"],["impl Eq for BytesChunk"],["impl Eq for FilterMode"]], -"uucore":[["impl Eq for Verbosity"],["impl Eq for UpdateMode"],["impl Eq for BackupMode"],["impl Eq for MissingHandling"],["impl Eq for FileInformation"],["impl Eq for VerbosityLevel"],["impl Eq for Range"],["impl Eq for ResolveMode"],["impl Eq for BackupError"],["impl Eq for TraverseSymlinks"],["impl Eq for ParseSizeError"]] +"uu_tail":[["impl Eq for Signum"],["impl Eq for FollowMode"],["impl Eq for BytesChunk"],["impl Eq for FilterMode"]], +"uucore":[["impl Eq for VerbosityLevel"],["impl Eq for Verbosity"],["impl Eq for Range"],["impl Eq for BackupError"],["impl Eq for TraverseSymlinks"],["impl Eq for UpdateMode"],["impl Eq for BackupMode"],["impl Eq for FileInformation"],["impl Eq for ParseSizeError"],["impl Eq for ResolveMode"],["impl Eq for MissingHandling"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/cmp/trait.PartialEq.js b/dev/implementors/core/cmp/trait.PartialEq.js index 00f299bd4..33b290a73 100644 --- a/dev/implementors/core/cmp/trait.PartialEq.js +++ b/dev/implementors/core/cmp/trait.PartialEq.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"uu_cp":[["impl PartialEq<SparseMode> for SparseMode"],["impl PartialEq<Preserve> for Preserve"],["impl PartialEq<ClobberMode> for ClobberMode"],["impl PartialEq<ReflinkMode> for ReflinkMode"],["impl PartialEq<OverwriteMode> for OverwriteMode"]], +"uu_cp":[["impl PartialEq<SparseMode> for SparseMode"],["impl PartialEq<OverwriteMode> for OverwriteMode"],["impl PartialEq<ReflinkMode> for ReflinkMode"],["impl PartialEq<ClobberMode> for ClobberMode"],["impl PartialEq<Preserve> for Preserve"]], "uu_dircolors":[["impl PartialEq<OutputFmt> for OutputFmt"]], "uu_factor":[["impl PartialEq<Factors> for Factors"]], "uu_install":[["impl PartialEq<MainFunction> for MainFunction"]], @@ -8,6 +8,6 @@ "uu_mv":[["impl PartialEq<OverwriteMode> for OverwriteMode"]], "uu_numfmt":[["impl PartialEq<FormatOptions> for FormatOptions"]], "uu_sort":[["impl PartialEq<GeneralF64ParseResult> for GeneralF64ParseResult"]], -"uu_tail":[["impl PartialEq<Signum> for Signum"],["impl PartialEq<BytesChunk> for BytesChunk"],["impl PartialEq<FollowMode> for FollowMode"],["impl PartialEq<FilterMode> for FilterMode"]], -"uucore":[["impl PartialEq<BackupMode> for BackupMode"],["impl PartialEq<FileInformation> for FileInformation"],["impl PartialEq<Range> for Range"],["impl PartialEq<VerbosityLevel> for VerbosityLevel"],["impl PartialEq<ResolveMode> for ResolveMode"],["impl PartialEq<UpdateMode> for UpdateMode"],["impl PartialEq<ParseSizeError> for ParseSizeError"],["impl PartialEq<TraverseSymlinks> for TraverseSymlinks"],["impl PartialEq<BackupError> for BackupError"],["impl PartialEq<Verbosity> for Verbosity"],["impl PartialEq<MissingHandling> for MissingHandling"]] +"uu_tail":[["impl PartialEq<FollowMode> for FollowMode"],["impl PartialEq<FilterMode> for FilterMode"],["impl PartialEq<Signum> for Signum"],["impl PartialEq<BytesChunk> for BytesChunk"]], +"uucore":[["impl PartialEq<ParseSizeError> for ParseSizeError"],["impl PartialEq<BackupError> for BackupError"],["impl PartialEq<VerbosityLevel> for VerbosityLevel"],["impl PartialEq<ResolveMode> for ResolveMode"],["impl PartialEq<FileInformation> for FileInformation"],["impl PartialEq<UpdateMode> for UpdateMode"],["impl PartialEq<MissingHandling> for MissingHandling"],["impl PartialEq<TraverseSymlinks> for TraverseSymlinks"],["impl PartialEq<Range> for Range"],["impl PartialEq<BackupMode> for BackupMode"],["impl PartialEq<Verbosity> for Verbosity"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/convert/trait.From.js b/dev/implementors/core/convert/trait.From.js index 460e0059f..fd3cdd88f 100644 --- a/dev/implementors/core/convert/trait.From.js +++ b/dev/implementors/core/convert/trait.From.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"uu_cp":[["impl<'a> From<Context<String, Error>> for Error"],["impl From<String> for Error"],["impl From<StripPrefixError> for Error"],["impl<'a> From<Context<&'a str, Error>> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<&'static str> for Error"]], -"uucore":[["impl From<Errno> for Box<dyn UError>"],["impl From<Errno> for UIoError"],["impl From<DecodeError> for DecodeError"],["impl From<Error> for Box<dyn UError>"],["impl From<Error> for DecodeError"],["impl From<DecodeError> for DecodeError"],["impl From<Error<RichFormatter>> for Box<dyn UError>"],["impl From<i32> for Box<dyn UError>"],["impl From<Error> for UIoError"],["impl<T> From<T> for Box<dyn UError>where\n T: UError + 'static,"]] +"uu_cp":[["impl From<&'static str> for Error"],["impl From<Error> for Error"],["impl<'a> From<Context<&'a str, Error>> for Error"],["impl From<Error> for Error"],["impl<'a> From<Context<String, Error>> for Error"],["impl From<StripPrefixError> for Error"],["impl From<String> for Error"]], +"uucore":[["impl From<Errno> for UIoError"],["impl From<Error> for Box<dyn UError>"],["impl From<i32> for Box<dyn UError>"],["impl<T> From<T> for Box<dyn UError>where\n T: UError + 'static,"],["impl From<Errno> for Box<dyn UError>"],["impl From<Error> for UIoError"],["impl From<Error> for DecodeError"],["impl From<Error<RichFormatter>> for Box<dyn UError>"],["impl From<DecodeError> for DecodeError"],["impl From<DecodeError> for DecodeError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/error/trait.Error.js b/dev/implementors/core/error/trait.Error.js index f0073e709..0a5520a7a 100644 --- a/dev/implementors/core/error/trait.Error.js +++ b/dev/implementors/core/error/trait.Error.js @@ -1,5 +1,5 @@ (function() {var implementors = { "uu_cp":[["impl Error for Error"]], "uu_numfmt":[["impl Error for NumfmtError"]], -"uucore":[["impl Error for ParseSizeError"],["impl Error for UUsageError"],["impl Error for ExitCode"],["impl Error for DecodeError"],["impl Error for USimpleError"],["impl Error for UIoError"],["impl Error for ClapErrorWrapper"],["impl Error for BackupError"]] +"uucore":[["impl Error for USimpleError"],["impl Error for UIoError"],["impl Error for BackupError"],["impl Error for ExitCode"],["impl Error for UUsageError"],["impl Error for ClapErrorWrapper"],["impl Error for ParseSizeError"],["impl Error for DecodeError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/fmt/trait.Debug.js b/dev/implementors/core/fmt/trait.Debug.js index c15b6fd27..17430ac36 100644 --- a/dev/implementors/core/fmt/trait.Debug.js +++ b/dev/implementors/core/fmt/trait.Debug.js @@ -1,13 +1,13 @@ (function() {var implementors = { -"uu_cp":[["impl Debug for Preserve"],["impl Debug for Error"],["impl Debug for Attributes"]], +"uu_cp":[["impl Debug for Preserve"],["impl Debug for Attributes"],["impl Debug for Error"]], "uu_dircolors":[["impl Debug for OutputFmt"]], "uu_factor":[["impl Debug for Factors"]], "uu_ln":[["impl Debug for OverwriteMode"]], "uu_ls":[["impl Debug for Format"]], "uu_numfmt":[["impl Debug for NumfmtError"],["impl Debug for FormatOptions"]], -"uu_sort":[["impl Debug for GeneralF64ParseResult"],["impl<'a> Debug for Line<'a>"]], +"uu_sort":[["impl<'a> Debug for Line<'a>"],["impl Debug for GeneralF64ParseResult"]], "uu_stat":[["impl Debug for OutputType"]], -"uu_stty":[["impl Debug for TermSize"],["impl<T: Debug> Debug for Flag<T>"]], -"uu_tail":[["impl Debug for Signum"],["impl Debug for LinesChunk"],["impl Debug for FilterMode"],["impl Debug for Settings"],["impl Debug for VerificationResult"],["impl Debug for BytesChunk"],["impl Debug for FollowMode"]], -"uucore":[["impl Debug for Passwd"],["impl Debug for MountInfo"],["impl Debug for MissingHandling"],["impl Debug for ResolveMode"],["impl Debug for ExitCode"],["impl Debug for BackupError"],["impl Debug for Group"],["impl Debug for UUsageError"],["impl Debug for Verbosity"],["impl Debug for BackupMode"],["impl Debug for UIoError"],["impl Debug for ParseSizeError"],["impl Debug for ClapErrorWrapper"],["impl Debug for FsUsage"],["impl Debug for UpdateMode"],["impl Debug for VerbosityLevel"],["impl Debug for Range"],["impl Debug for DecodeError"],["impl Debug for USimpleError"]] +"uu_stty":[["impl<T: Debug> Debug for Flag<T>"],["impl Debug for TermSize"]], +"uu_tail":[["impl Debug for Signum"],["impl Debug for LinesChunk"],["impl Debug for FollowMode"],["impl Debug for FilterMode"],["impl Debug for BytesChunk"],["impl Debug for Settings"],["impl Debug for VerificationResult"]], +"uucore":[["impl Debug for FsUsage"],["impl Debug for Group"],["impl Debug for UpdateMode"],["impl Debug for VerbosityLevel"],["impl Debug for ExitCode"],["impl Debug for Passwd"],["impl Debug for DecodeError"],["impl Debug for UUsageError"],["impl Debug for ParseSizeError"],["impl Debug for ClapErrorWrapper"],["impl Debug for UIoError"],["impl Debug for BackupMode"],["impl Debug for Range"],["impl Debug for MissingHandling"],["impl Debug for ResolveMode"],["impl Debug for USimpleError"],["impl Debug for BackupError"],["impl Debug for Verbosity"],["impl Debug for MountInfo"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/fmt/trait.Display.js b/dev/implementors/core/fmt/trait.Display.js index 846dbad81..f5af481c8 100644 --- a/dev/implementors/core/fmt/trait.Display.js +++ b/dev/implementors/core/fmt/trait.Display.js @@ -2,5 +2,5 @@ "uu_cp":[["impl Display for Error"]], "uu_factor":[["impl Display for Factors"]], "uu_numfmt":[["impl Display for NumfmtError"]], -"uucore":[["impl Display for BackupError"],["impl Display for DecodeError"],["impl Display for ExitCode"],["impl Display for UIoError"],["impl Display for ClapErrorWrapper"],["impl Display for ParseSizeError"],["impl Display for USimpleError"],["impl Display for UUsageError"]] +"uucore":[["impl Display for ParseSizeError"],["impl Display for DecodeError"],["impl Display for BackupError"],["impl Display for USimpleError"],["impl Display for ClapErrorWrapper"],["impl Display for UIoError"],["impl Display for ExitCode"],["impl Display for UUsageError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/iter/traits/iterator/trait.Iterator.js b/dev/implementors/core/iter/traits/iterator/trait.Iterator.js index 6f05c5a72..7d2f6c313 100644 --- a/dev/implementors/core/iter/traits/iterator/trait.Iterator.js +++ b/dev/implementors/core/iter/traits/iterator/trait.Iterator.js @@ -1,5 +1,5 @@ (function() {var implementors = { "uu_numfmt":[["impl<'a> Iterator for WhitespaceSplitter<'a>"]], "uu_tail":[["impl<'a> Iterator for ReverseChunks<'a>"]], -"uucore":[["impl<B: BufRead> Iterator for Lines<B>"],["impl Iterator for UtmpxIter"]] +"uucore":[["impl Iterator for UtmpxIter"],["impl<B: BufRead> Iterator for Lines<B>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/marker/trait.Copy.js b/dev/implementors/core/marker/trait.Copy.js index 7db3b4811..7b340d713 100644 --- a/dev/implementors/core/marker/trait.Copy.js +++ b/dev/implementors/core/marker/trait.Copy.js @@ -1,9 +1,9 @@ (function() {var implementors = { -"uu_cp":[["impl Copy for SparseMode"],["impl Copy for ClobberMode"],["impl Copy for OverwriteMode"],["impl Copy for ReflinkMode"]], +"uu_cp":[["impl Copy for ReflinkMode"],["impl Copy for OverwriteMode"],["impl Copy for ClobberMode"],["impl Copy for SparseMode"]], "uu_kill":[["impl Copy for Mode"]], "uu_numfmt":[["impl Copy for RoundMethod"]], "uu_sort":[["impl Copy for GeneralF64ParseResult"]], "uu_stty":[["impl<T: Copy> Copy for Flag<T>"]], -"uu_tail":[["impl Copy for Signum"],["impl Copy for FollowMode"]], -"uucore":[["impl Copy for MissingHandling"],["impl Copy for Format"],["impl Copy for ResolveMode"],["impl Copy for BackupMode"],["impl Copy for Quotes"]] +"uu_tail":[["impl Copy for FollowMode"],["impl Copy for Signum"]], +"uucore":[["impl Copy for MissingHandling"],["impl Copy for Format"],["impl Copy for Quotes"],["impl Copy for BackupMode"],["impl Copy for ResolveMode"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/marker/trait.StructuralEq.js b/dev/implementors/core/marker/trait.StructuralEq.js index c27f4173c..100a106f8 100644 --- a/dev/implementors/core/marker/trait.StructuralEq.js +++ b/dev/implementors/core/marker/trait.StructuralEq.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"uu_cp":[["impl StructuralEq for SparseMode"],["impl StructuralEq for OverwriteMode"],["impl StructuralEq for Preserve"],["impl StructuralEq for ClobberMode"],["impl StructuralEq for ReflinkMode"]], +"uu_cp":[["impl StructuralEq for Preserve"],["impl StructuralEq for ReflinkMode"],["impl StructuralEq for ClobberMode"],["impl StructuralEq for OverwriteMode"],["impl StructuralEq for SparseMode"]], "uu_dircolors":[["impl StructuralEq for OutputFmt"]], "uu_factor":[["impl StructuralEq for Factors"]], "uu_install":[["impl StructuralEq for MainFunction"]], @@ -7,6 +7,6 @@ "uu_ls":[["impl StructuralEq for Format"]], "uu_mv":[["impl StructuralEq for OverwriteMode"]], "uu_numfmt":[["impl StructuralEq for FormatOptions"]], -"uu_tail":[["impl StructuralEq for Signum"],["impl StructuralEq for FollowMode"],["impl StructuralEq for FilterMode"],["impl StructuralEq for BytesChunk"]], -"uucore":[["impl StructuralEq for Range"],["impl StructuralEq for UpdateMode"],["impl StructuralEq for ResolveMode"],["impl StructuralEq for TraverseSymlinks"],["impl StructuralEq for ParseSizeError"],["impl StructuralEq for MissingHandling"],["impl StructuralEq for Verbosity"],["impl StructuralEq for BackupMode"],["impl StructuralEq for VerbosityLevel"],["impl StructuralEq for BackupError"]] +"uu_tail":[["impl StructuralEq for FilterMode"],["impl StructuralEq for BytesChunk"],["impl StructuralEq for FollowMode"],["impl StructuralEq for Signum"]], +"uucore":[["impl StructuralEq for Verbosity"],["impl StructuralEq for MissingHandling"],["impl StructuralEq for ResolveMode"],["impl StructuralEq for TraverseSymlinks"],["impl StructuralEq for BackupError"],["impl StructuralEq for UpdateMode"],["impl StructuralEq for ParseSizeError"],["impl StructuralEq for BackupMode"],["impl StructuralEq for VerbosityLevel"],["impl StructuralEq for Range"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/implementors/core/marker/trait.StructuralPartialEq.js b/dev/implementors/core/marker/trait.StructuralPartialEq.js index a5fe4d9e7..dac09be5b 100644 --- a/dev/implementors/core/marker/trait.StructuralPartialEq.js +++ b/dev/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"uu_cp":[["impl StructuralPartialEq for Preserve"],["impl StructuralPartialEq for ReflinkMode"],["impl StructuralPartialEq for ClobberMode"],["impl StructuralPartialEq for SparseMode"],["impl StructuralPartialEq for OverwriteMode"]], +"uu_cp":[["impl StructuralPartialEq for ReflinkMode"],["impl StructuralPartialEq for Preserve"],["impl StructuralPartialEq for ClobberMode"],["impl StructuralPartialEq for OverwriteMode"],["impl StructuralPartialEq for SparseMode"]], "uu_dircolors":[["impl StructuralPartialEq for OutputFmt"]], "uu_factor":[["impl StructuralPartialEq for Factors"]], "uu_install":[["impl StructuralPartialEq for MainFunction"]], @@ -8,6 +8,6 @@ "uu_mv":[["impl StructuralPartialEq for OverwriteMode"]], "uu_numfmt":[["impl StructuralPartialEq for FormatOptions"]], "uu_sort":[["impl StructuralPartialEq for GeneralF64ParseResult"]], -"uu_tail":[["impl StructuralPartialEq for FollowMode"],["impl StructuralPartialEq for FilterMode"],["impl StructuralPartialEq for Signum"],["impl StructuralPartialEq for BytesChunk"]], -"uucore":[["impl StructuralPartialEq for ParseSizeError"],["impl StructuralPartialEq for ResolveMode"],["impl StructuralPartialEq for Verbosity"],["impl StructuralPartialEq for Range"],["impl StructuralPartialEq for UpdateMode"],["impl StructuralPartialEq for BackupError"],["impl StructuralPartialEq for BackupMode"],["impl StructuralPartialEq for TraverseSymlinks"],["impl StructuralPartialEq for VerbosityLevel"],["impl StructuralPartialEq for MissingHandling"]] +"uu_tail":[["impl StructuralPartialEq for BytesChunk"],["impl StructuralPartialEq for FollowMode"],["impl StructuralPartialEq for Signum"],["impl StructuralPartialEq for FilterMode"]], +"uucore":[["impl StructuralPartialEq for MissingHandling"],["impl StructuralPartialEq for TraverseSymlinks"],["impl StructuralPartialEq for ParseSizeError"],["impl StructuralPartialEq for Range"],["impl StructuralPartialEq for UpdateMode"],["impl StructuralPartialEq for VerbosityLevel"],["impl StructuralPartialEq for Verbosity"],["impl StructuralPartialEq for BackupError"],["impl StructuralPartialEq for ResolveMode"],["impl StructuralPartialEq for BackupMode"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/dev/search-index.js b/dev/search-index.js index 0ecff100d..26a8fd474 100644 --- a/dev/search-index.js +++ b/dev/search-index.js @@ -107,13 +107,13 @@ var searchIndex = JSON.parse('{\ "uu_basenc":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_basenc",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_cat":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_cat",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_chcon":{"doc":"","t":"AFFHHHHHHHHAAAHHHHHHH","n":["options","uu_app","uumain","HELP","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,0],"f":[0,[[],1],[2,3],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ -"uu_chgrp":{"doc":"","t":"AFFDIDLLLLLLLLLLLLLFFMMFFLLKLLLLMMLLLLLLLLMFMMMMF","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.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","Calls U::from(self).","Calls U::from(self).","","","","","","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,4,4,8,4,8,4,8,4,8,4,8,4,8,0,0,4,8,0,0,4,8,17,4,4,8,8,4,8,4,8,4,8,4,8,4,8,4,0,4,4,4,4,0],"f":[0,[[],1],[2,3],0,0,0,[4,[[7,[5,6]]]],[[]],[[]],[[]],[[]],[4,4],[8,8],[[]],[[]],[[4,9],[[11,[10]]]],[[8,9],[[11,[10]]]],[[]],[[]],[[],[[11,[[7,[5,6]],12]]]],[[[13,[5]]],[[11,[[7,[5,6]],12]]]],0,0,[5,[[11,[14,12]]]],[15,[[11,[5,12]]]],[[]],[[]],[[],[[11,[12]]]],[15,[[11,[4,12]]]],[5,[[11,[4,12]]]],[15,[[11,[8,12]]]],[5,[[11,[8,12]]]],0,0,[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],16],[[],16],0,[5,[[11,[14,12]]]],0,0,0,0,[15,[[11,[5,12]]]]],"p":[[3,"Command"],[8,"Args"],[15,"i32"],[3,"Passwd"],[15,"u32"],[3,"Global"],[3,"Vec"],[3,"Group"],[3,"Formatter"],[3,"Error"],[4,"Result"],[3,"Error"],[4,"Option"],[3,"String"],[15,"str"],[3,"TypeId"],[8,"Locate"]]},\ +"uu_chgrp":{"doc":"","t":"AFFDIDLLLLLLLLLLLLLFFMMFFLLKLLLLMMLLLLLLLLMFMMMMF","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.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","Calls U::from(self).","Calls U::from(self).","","","","","","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,4,4,8,4,8,4,8,4,8,4,8,4,8,0,0,4,8,0,0,4,8,17,4,4,8,8,4,8,4,8,4,8,4,8,4,8,4,0,4,4,4,4,0],"f":[0,[[],1],[2,3],0,0,0,[4,[[7,[5,6]]]],[[]],[[]],[[]],[[]],[4,4],[8,8],[[]],[[]],[[4,9],[[11,[10]]]],[[8,9],[[11,[10]]]],[[]],[[]],[[],[[11,[[7,[5,6]],12]]]],[[[13,[5]]],[[11,[[7,[5,6]],12]]]],0,0,[5,[[11,[14,12]]]],[15,[[11,[5,12]]]],[[]],[[]],[[],[[11,[12]]]],[5,[[11,[4,12]]]],[15,[[11,[4,12]]]],[5,[[11,[8,12]]]],[15,[[11,[8,12]]]],0,0,[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],16],[[],16],0,[5,[[11,[14,12]]]],0,0,0,0,[15,[[11,[5,12]]]]],"p":[[3,"Command"],[8,"Args"],[15,"i32"],[3,"Passwd"],[15,"u32"],[3,"Global"],[3,"Vec"],[3,"Group"],[3,"Formatter"],[3,"Error"],[4,"Result"],[3,"Error"],[4,"Option"],[3,"String"],[15,"str"],[3,"TypeId"],[8,"Locate"]]},\ "uu_chmod":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_chmod",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ -"uu_chown":{"doc":"","t":"DIDLLLLLLLLLALLLLMMLLKLLLLMMLLLLLLLLMMMMMFFDIDFFMMFFKMMMFMMMMF","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","","","Returns the argument unchanged.","Returns the argument unchanged.","AKA passwd.pw_gid","AKA group.gr_gid","Calls U::from(self).","Calls U::from(self).","","","","","","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,5,1,5,1,5,1,5,0,1,5,1,5,1,5,1,5,17,1,1,5,5,1,5,1,5,1,5,1,5,1,5,1,1,1,1,1,0,0,0,0,0,0,0,1,5,0,0,17,1,5,1,0,1,1,1,1,0],"f":[0,0,0,[1,[[4,[2,3]]]],[[]],[[]],[[]],[[]],[1,1],[5,5],[[]],[[]],0,[[1,6],[[8,[7]]]],[[5,6],[[8,[7]]]],[[]],[[]],0,0,[[]],[[]],[[],[[8,[9]]]],[2,[[8,[1,9]]]],[10,[[8,[1,9]]]],[10,[[8,[5,9]]]],[2,[[8,[5,9]]]],0,0,[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],11],[[],11],0,0,0,0,0,[[],12],[13,14],0,0,0,[[],[[8,[[4,[2,3]],9]]]],[[[15,[2]]],[[8,[[4,[2,3]],9]]]],0,0,[2,[[8,[16,9]]]],[10,[[8,[2,9]]]],[[],[[8,[9]]]],0,0,0,[2,[[8,[16,9]]]],0,0,0,0,[10,[[8,[2,9]]]]],"p":[[3,"Passwd"],[15,"u32"],[3,"Global"],[3,"Vec"],[3,"Group"],[3,"Formatter"],[3,"Error"],[4,"Result"],[3,"Error"],[15,"str"],[3,"TypeId"],[3,"Command"],[8,"Args"],[15,"i32"],[4,"Option"],[3,"String"],[8,"Locate"]]},\ +"uu_chown":{"doc":"","t":"DIDLLLLLLLLLALLLLMMLLKLLLLMMLLLLLLLLMMMMMFFDIDFFMMFFKMMMFMMMMF","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","","","Returns the argument unchanged.","Returns the argument unchanged.","AKA passwd.pw_gid","AKA group.gr_gid","Calls U::from(self).","Calls U::from(self).","","","","","","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,5,1,5,1,5,1,5,0,1,5,1,5,1,5,1,5,17,1,1,5,5,1,5,1,5,1,5,1,5,1,5,1,1,1,1,1,0,0,0,0,0,0,0,1,5,0,0,17,1,5,1,0,1,1,1,1,0],"f":[0,0,0,[1,[[4,[2,3]]]],[[]],[[]],[[]],[[]],[1,1],[5,5],[[]],[[]],0,[[1,6],[[8,[7]]]],[[5,6],[[8,[7]]]],[[]],[[]],0,0,[[]],[[]],[[],[[8,[9]]]],[10,[[8,[1,9]]]],[2,[[8,[1,9]]]],[2,[[8,[5,9]]]],[10,[[8,[5,9]]]],0,0,[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],11],[[],11],0,0,0,0,0,[[],12],[13,14],0,0,0,[[],[[8,[[4,[2,3]],9]]]],[[[15,[2]]],[[8,[[4,[2,3]],9]]]],0,0,[2,[[8,[16,9]]]],[10,[[8,[2,9]]]],[[],[[8,[9]]]],0,0,0,[2,[[8,[16,9]]]],0,0,0,0,[10,[[8,[2,9]]]]],"p":[[3,"Passwd"],[15,"u32"],[3,"Global"],[3,"Vec"],[3,"Group"],[3,"Formatter"],[3,"Error"],[4,"Result"],[3,"Error"],[15,"str"],[3,"TypeId"],[3,"Command"],[8,"Args"],[15,"i32"],[4,"Option"],[3,"String"],[8,"Locate"]]},\ "uu_chroot":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_chroot",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_cksum":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_cksum",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_comm":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_comm",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ -"uu_cp":{"doc":"","t":"NNNDNNNNENEGNENNNNNNNNNNNNNNNDEEENNGGENNNGGENNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFM","n":["Always","Always","AttrOnly","Attributes","Auto","Auto","Backup","Clobber","ClobberMode","Copy","CopyMode","CopyResult","Directory","Error","Error","File","Force","Interactive","InvalidArgument","IoErr","IoErrContext","Link","Never","Never","No","NoClobber","NotADirectory","NotAllFilesCopied","NotImplemented","Options","OverwriteMode","Preserve","ReflinkMode","RemoveDestination","Skipped","Source","SourceSlice","SparseMode","Standard","StripPrefixError","SymLink","Target","TargetSlice","TargetType","Update","WalkDirErr","Yes","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","code","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","localize_to_target","provide","source","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uu_app","uumain","verify_target_type","required"],"q":["uu_cp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uu_cp::Preserve"],"d":["","","","","","","Invalid arguments to backup","Default Always overwrite existing files","Specifies whether when overwrite files","","","","","","General copy error","","","Prompt before overwriting a file","Result of a skipped file","Simple io::Error wrapper","Wrapper for io::Error with path context","","","","","Never overwrite a file","","Represents the state when a non-fatal error has occurred …","All standard options are included as an an implementation …","Re-usable, extensible copy options","Specifies whether when overwrite files","","Possible arguments for --reflink.","","Result of a skipped file Currently happens when “no” …","","","Possible arguments for --sparse.","","Simple std::path::StripPrefixError wrapper","","","","Specifies the expected file type of copy target","","Simple walkdir::Error wrapper","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Remove the root prefix from source and prefix it with …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate an error message if target is not the correct …",""],"i":[3,4,29,0,3,4,5,2,0,29,0,0,28,0,5,28,1,2,5,5,5,29,3,4,8,2,5,5,5,0,0,0,0,1,5,0,0,0,1,5,29,0,0,0,29,5,8,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,1,2,3,4,1,2,3,4,5,1,2,3,4,8,5,5,11,8,28,29,30,5,5,5,5,5,5,5,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,0,5,5,1,2,3,4,5,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,0,0,0,31],"f":[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[[]],[[]],[[]],[[]],[5,6],[[1,1],7],[[2,2],7],[[3,3],7],[[4,4],7],[[8,8],7],[[5,9],10],[[5,9],10],[[11,9],10],[[8,9],10],[[]],[[]],[[]],[12,5],[[[15,[13,14]]],5],[13,5],[[]],[16,5],[17,5],[14,5],[[[15,[17,14]]],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[18,18,18],[[20,[19]]]],[21],[5,[[23,[22]]]],[[]],[[]],[[]],[[]],[[],17],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],26],[27,6],[[18,28],20],0],"p":[[4,"ClobberMode"],[4,"OverwriteMode"],[4,"ReflinkMode"],[4,"SparseMode"],[4,"Error"],[15,"i32"],[15,"bool"],[4,"Preserve"],[3,"Formatter"],[6,"Result"],[3,"Attributes"],[3,"Error"],[15,"str"],[3,"Error"],[3,"Context"],[3,"StripPrefixError"],[3,"String"],[3,"Path"],[3,"PathBuf"],[6,"CopyResult"],[3,"Demand"],[8,"Error"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"Command"],[8,"Args"],[4,"TargetType"],[4,"CopyMode"],[3,"Options"],[13,"Yes"]]},\ +"uu_cp":{"doc":"","t":"NNNDNNNNENEGNENNNNNNNNNNNNNNNDEEENNGGENNNGGENNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFM","n":["Always","Always","AttrOnly","Attributes","Auto","Auto","Backup","Clobber","ClobberMode","Copy","CopyMode","CopyResult","Directory","Error","Error","File","Force","Interactive","InvalidArgument","IoErr","IoErrContext","Link","Never","Never","No","NoClobber","NotADirectory","NotAllFilesCopied","NotImplemented","Options","OverwriteMode","Preserve","ReflinkMode","RemoveDestination","Skipped","Source","SourceSlice","SparseMode","Standard","StripPrefixError","SymLink","Target","TargetSlice","TargetType","Update","WalkDirErr","Yes","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","code","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","localize_to_target","provide","source","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uu_app","uumain","verify_target_type","required"],"q":["uu_cp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uu_cp::Preserve"],"d":["","","","","","","Invalid arguments to backup","Default Always overwrite existing files","Specifies whether when overwrite files","","","","","","General copy error","","","Prompt before overwriting a file","Result of a skipped file","Simple io::Error wrapper","Wrapper for io::Error with path context","","","","","Never overwrite a file","","Represents the state when a non-fatal error has occurred …","All standard options are included as an an implementation …","Re-usable, extensible copy options","Specifies whether when overwrite files","","Possible arguments for --reflink.","","Result of a skipped file Currently happens when “no” …","","","Possible arguments for --sparse.","","Simple std::path::StripPrefixError wrapper","","","","Specifies the expected file type of copy target","","Simple walkdir::Error wrapper","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Remove the root prefix from source and prefix it with …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate an error message if target is not the correct …",""],"i":[3,4,29,0,3,4,5,2,0,29,0,0,28,0,5,28,1,2,5,5,5,29,3,4,8,2,5,5,5,0,0,0,0,1,5,0,0,0,1,5,29,0,0,0,29,5,8,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,1,2,3,4,1,2,3,4,5,1,2,3,4,8,5,5,11,8,28,29,30,5,5,5,5,5,5,5,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,0,5,5,1,2,3,4,5,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,28,29,30,5,1,2,3,4,11,8,0,0,0,31],"f":[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[[]],[[]],[[]],[[]],[5,6],[[1,1],7],[[2,2],7],[[3,3],7],[[4,4],7],[[8,8],7],[[5,9],10],[[5,9],10],[[11,9],10],[[8,9],10],[[]],[[]],[[]],[[]],[[[14,[12,13]]],5],[[[14,[15,13]]],5],[13,5],[16,5],[17,5],[12,5],[15,5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[18,18,18],[[20,[19]]]],[21],[5,[[23,[22]]]],[[]],[[]],[[]],[[]],[[],15],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],26],[27,6],[[18,28],20],0],"p":[[4,"ClobberMode"],[4,"OverwriteMode"],[4,"ReflinkMode"],[4,"SparseMode"],[4,"Error"],[15,"i32"],[15,"bool"],[4,"Preserve"],[3,"Formatter"],[6,"Result"],[3,"Attributes"],[15,"str"],[3,"Error"],[3,"Context"],[3,"String"],[3,"Error"],[3,"StripPrefixError"],[3,"Path"],[3,"PathBuf"],[6,"CopyResult"],[3,"Demand"],[8,"Error"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"Command"],[8,"Args"],[4,"TargetType"],[4,"CopyMode"],[3,"Options"],[13,"Yes"]]},\ "uu_csplit":{"doc":"","t":"DLLFLLLLLFF","n":["CsplitOptions","borrow","borrow_mut","csplit","from","into","try_from","try_into","type_id","uu_app","uumain"],"q":["uu_csplit","","","","","","","","","",""],"d":["Command line options for csplit.","","","Splits a file into severals according to the command line …","Returns the argument unchanged.","Calls U::from(self).","","","","",""],"i":[0,1,1,0,1,1,1,1,1,0,0],"f":[0,[[]],[[]],[[1,[2,[0]]],[[3,[0]]]],[[]],[[]],[[],3],[[],3],[[],4],[[],5],[6,7]],"p":[[3,"CsplitOptions"],[3,"Vec"],[4,"Result"],[3,"TypeId"],[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_cut":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_cut",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_date":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_date",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ @@ -199,11 +199,11 @@ var searchIndex = JSON.parse('{\ "uu_uptime":{"doc":"","t":"AFFH","n":["options","uu_app","uumain","SINCE"],"q":["uu_uptime","","","uu_uptime::options"],"d":["","","",""],"i":[0,0,0,0],"f":[0,[[],1],[2,3],0],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_users":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_users",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_vdir":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_vdir",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ -"uu_wc":{"doc":"","t":"AFFHHHHHHH","n":["options","uu_app","uumain","BYTES","CHAR","FILES0_FROM","LINES","MAX_LINE_LENGTH","TOTAL","WORDS"],"q":["uu_wc","","","uu_wc::options","","","","","",""],"d":["","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0],"f":[0,[[],1],[2,3],0,0,0,0,0,0,0],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ +"uu_wc":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_wc",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_who":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_who",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_whoami":{"doc":"","t":"FF","n":["uu_app","uumain"],"q":["uu_whoami",""],"d":["",""],"i":[0,0],"f":[[[],1],[2,3]],"p":[[3,"Command"],[8,"Args"],[15,"i32"]]},\ "uu_yes":{"doc":"","t":"FFF","n":["exec","uu_app","uumain"],"q":["uu_yes","",""],"d":["","",""],"i":[0,0,0],"f":[[[],1],[[],2],[3,4]],"p":[[6,"Result"],[3,"Command"],[8,"Args"],[15,"i32"]]},\ -"uucore":{"doc":"","t":"IFAOLLOOAAAAFFAAFOOOOAXAAAAAAAAAAOAAFAFOOOOAAOAFAANRHENENNNNNALLLLLLLFFLLLLLLLFLLLLLLLLLLLLHHHFFFIDLLLLLLLLLLLLLLLFFKLLLLLNNNNNNNDNEGNEENNNLLLLLLLLLLFLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFDIDLLLLLLLLLLLLLFFMMFFLLKLLLLMMLLLLLLLLMFMMMMFDDIIIDGDDLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLFLLLLLKMMLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLOLLLKNDNNENNNEFLLLLLLFLLLLFFFLLLLLLLLLLLOLFLLLLFFFLFFLLLLLLLLLLLIIDDDFKLMMMKKLMMLLLLLLLLLLLLMMMLMMMMMMMMMMMMMMMMMMMMMMLLLKLKLLLLKLMKLLLLLKLMMMKLLKFFFFMFDFLLLKLKLLLLLLLLLLDLLLLLFLLLLFFFFFFFFFFFNNEDNMMLLLLMLMLLLLLLLLLFLLLLLLLLLLLFNNNDNDNENNNENNNDELLLLLLLLLLLLFLLLLMMMMMALLLLMMMLLLLLLLLMLLLLLLMAMMMMLLMLLLLLLLLLLLLLLLLLLMFDIDFFMMFFKMMMFMMMMFRRRRRRRAAAARRRRRRRRRRRGGLFFFFIFFFFKKKNNNNEENNLLLLLLFLLLLLLLLLLLMMMMMDLLLFFLLLLLMLMLLLLDLLMLLLLLLLLHHFFFFFDDDDIDDDDDDDDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNEALLLLFLLLLLLLLHHFFRRRHRRRRRRRRRRRDDLLLLLLFLLLFLLLLLLLLLLLLFLLLLLLLLLFF","n":["Args","args_os","backup_control","bin","collect_ignore","collect_lossy","crash","crash_if_err","display","encoding","entries","error","execution_phrase","format_usage","fs","fsext","get_utility_is_second_arg","has","help_about","help_section","help_usage","lines","main","memo","mode","os","panic","parse_glob","parse_size","parse_time","perms","pipes","process","prompt_yes","quoting_style","ranges","read_yes","ringbuffer","set_utility_is_second_arg","show","show_error","show_if_err","show_warning","signals","sum","uio_error","update_control","util_name","utmpx","version_cmp","AmbiguousArgument","BACKUP_CONTROL_LONG_HELP","BACKUP_CONTROL_VALUES","BackupError","BackupImpossible","BackupMode","ExistingBackup","InvalidArgument","NoBackup","NumberedBackup","SimpleBackup","arguments","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","code","determine_backup_mode","determine_backup_suffix","eq","eq","fmt","fmt","fmt","from","from","get_backup_path","into","into","provide","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","usage","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","external","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","provide","source","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","wrap_print","wrap_write","Group","Locate","Passwd","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","ClapErrorWrapper","ExitCode","FromIo","UClapError","UError","UIoError","UResult","USimpleError","UUsageError","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","code","code","code","code","code","code","code","code","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_exit_code","into","into","into","into","into","map_err_context","message","message","new","new","new","new","provide","provide","provide","provide","provide","set_exit_code","strip_errno","to_string","to_string","to_string","to_string","to_string","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","uio_error","usage","usage","usage","with_exit_code","Existing","FileInformation","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","are_hardlinks_to_same_file","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","dir_strip_dot_for_creation","display_permissions","display_permissions_unix","eq","eq","eq","file_size","fmt","fmt","from","from","from","from_file","from_path","has","hash","infos_refer_to_same_file","inode","into","into","into","is_symlink_loop","make_path_relative_to","normalize_path","number_of_links","paths_refer_to_same_file","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","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","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","printf","sprintf","get_umask","parse_mode","parse_numeric","parse_symbolic","strip_minus_from_mode","is_wsl_1","is_wsl_2","mute_sigpipe_panic","from_str","InvalidSuffix","ParseFailure","ParseSizeError","Parser","SizeTooBig","allow_list","b_byte_count","borrow","borrow","borrow_mut","borrow_mut","capital_b_bytes","default","default_unit","description","eq","fmt","fmt","from","from","into","into","parse","parse_size","provide","to_string","try_from","try_from","try_into","try_into","type_id","type_id","with_allow_list","with_b_byte_count","with_default_unit","from_str","All","All","Changes","ChownExecutor","First","GidUidOwnerFilter","Group","IfFrom","None","Normal","Silent","TraverseSymlinks","User","UserGroup","Verbose","Verbosity","VerbosityLevel","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chown_base","clone","clone","clone_into","clone_into","dereference","dest_gid","dest_gid","dest_uid","dest_uid","entries","eq","eq","eq","exec","files","filter","filter","fmt","fmt","from","from","from","from","from","from","groups_only","into","into","into","into","into","into","level","options","preserve_root","raw_owner","raw_owner","recursive","to_owned","to_owned","traverse_symlinks","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","verbosity","wrap_chown","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","HELP","RECURSIVE","REFERENCE","dereference","preserve_root","traverse","verbosity","DEREFERENCE","NO_DEREFERENCE","NO_PRESERVE","PRESERVE","EVERY","NO_TRAVERSE","TRAVERSE","CHANGES","QUIET","SILENT","VERBOSE","Error","Result","map_err_context","pipe","splice","splice_exact","vmsplice","ChildExt","getegid","geteuid","getgid","getuid","send_signal","send_signal_group","wait_or_timeout","C","Double","Literal","None","Quotes","QuotingStyle","Shell","Single","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","escape_name","from","from","into","into","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","always_quote","escape","quotes","show_control","show_control","Range","borrow","borrow_mut","cmp","complement","contain","eq","fmt","from","from_list","from_str","high","into","low","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","enable_pipe_errors","ignore_interrupts","is_signal","signal_by_name_or_value","signal_name_by_value","BSD","Blake2b","Blake3","CRC","Digest","DigestWriter","Md5","SYSV","Sha1","Sha224","Sha256","Sha384","Sha3_224","Sha3_256","Sha3_384","Sha3_512","Sha512","Shake128","Shake256","Sm3","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","div_ceil","finalize","flush","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bytes","output_bytes","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","result_str","result_str","result_str","result_str","result_str","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","with_output_bytes","write","ReplaceAll","ReplaceIfOlder","ReplaceNone","UpdateMode","arguments","borrow","borrow_mut","clone","clone_into","determine_update_mode","eq","fmt","from","into","to_owned","try_from","try_into","type_id","OPT_UPDATE","OPT_UPDATE_NO_ARG","update","update_no_args","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::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::arguments","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::lines","","","","","","","","","","","uucore::memo","","uucore::mode","","","","","uucore::os","","uucore::panic","uucore::parse_glob","uucore::parse_size","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::entries","","","","","","","","","","","","","","","","","","","uucore::perms::options","","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::pipes","","","","","","","uucore::process","","","","","","","","uucore::quoting_style","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::quoting_style::QuotingStyle","","","","","uucore::ranges","","","","","","","","","","","","","","","","","","uucore::ringbuffer","","","","","","","","","","","","uucore::signals","","","","","","","uucore::sum","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::update_control","","","","","","","","","","","","","","","","","","uucore::update_control::arguments","","","","uucore::utmpx","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::version_cmp"],"d":["","","Implement GNU-style backup functionality.","","Collects the iterator into a Vec<String>, removing any …","Collects the iterator into a Vec<String>, lossily …","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”.","Generate the usage string for clap.","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","Get the about text from the help file.","Reads a section from a file of the util as a str literal.","Get the usage from the help file.","Iterate over lines, including the line ending character(s).","","Main entry point for our implementation of printf.","Set of functions to parse modes","","Custom panic hooks that allow silencing certain types of …","Parsing a glob Pattern from a string.","","Parsing a duration from a string.","Common functions to manage permissions","","Set of functions to manage IDs","Prompt the user with a formatted string and returns true …","","","Read a line from stdin and check whether the first …","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 …","Display an error and set global exit code in error case.","Print a warning message to stderr.","","Implementations of digest functions, like md5 and sha1.","Shorthand to construct UIoError-instances.","Implement GNU-style update functionality.","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.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","‘–backup’ argument","‘-b’ argument","‘-S, –suffix’ argument","An extension trait to apply quoting to strings.","A wrapper around string types for displaying with quoting …","","","","","When quoting for PowerShell, toggle whether to quote for …","","","Toggle forced quoting. If true, quotes are added even if …","Returns the argument unchanged.","","Calls U::from(self).","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 …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Fetch desired entry.","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","Calls U::from(self).","Calls U::from(self).","","","","","","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 wrapper for clap::Error that implements UError","A special error type that does not print any message when …","Enables the conversion from std::io::Error to UError and …","Extension trait for clap::Error to adjust the exit code.","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.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get the last exit code set with set_exit_code. The default …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","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","Checks if two paths are hard links to the same file.","","","","","","","Return the canonical, absolute form of a path.","","","","","For some programs like install or mkdir, dir/. can be …","Display the permissions of a file On non unix like system, …","Display the permissions of a file on a unix like system","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get information from a currently open file","Get information for a given path.","","","Checks if p1 and p2 are the same file information. If …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Checks if there is a symlink loop in the given path.","Converts absolute path to be relative to absolute to path.","Normalize a path by removing relative information For …","","Checks if p1 and p2 are the same file. If error happens …","resolve a relative path","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","An iterator over the lines of an instance of BufRead.","","","Returns the argument unchanged.","Calls U::from(self).","","Returns an iterator over the lines, including line ending …","","","","","Write a formatted string to stdout.","Create a new formatted string.","","","","","","Test if the program is running under WSL","","Terminate without error on panics that occur due to broken …","Parse a glob Pattern from a string.","","","","Parser for sizes in SI or IEC units (multiples of 1000 or …","","Whitelist for the suffix","Whether to treat “b” as a “byte count” instead of …","","","","","Whether to treat the suffix “B” as meaning “bytes”.","","Default unit when no suffix is provided","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Parse a size string into a number of bytes.","Parse a size string into a number of bytes.","","","","","","","","","","","","Parse a duration from a string.","","","","","","","","","","","","","","","","","The various level of verbosity","","","","","","","","","","","","","Base implementation for chgrp and chown.","","","","","","","","","","Get password/group file entry","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","Send a signal to a process group.","Wait for a process to finish or return after the specified …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Test if at least one of the given Ranges contain the …","","","Returns the argument unchanged.","","Parse a string of the form a-b into a Range","","Calls U::from(self).","","","","","","A fixed-size ring buffer backed by a VecDeque.","","","","Returns the argument unchanged.","","Calls U::from(self).","","Append a value to the end of the ring buffer.","","","","","","","","","","","","first element of the tuple is the blake2b state second is …","","","","A struct that writes to a digest.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return a new Blake2b instance with a custom output bytes …","","","","","","","","","","","Determine the “mode” for the update operation to …","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Iterator of login records","","","","","Canonicalize host name using DNS","","","A.K.A. ut.ut_exit","Returns the argument unchanged.","Returns the argument unchanged.","","A.K.A. ut.ut_host","Calls U::from(self).","Calls U::from(self).","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,0,0,0,74,74,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,6,7,6,6,6,0,6,7,6,7,6,6,7,0,0,6,7,6,7,7,6,7,0,6,7,7,6,7,6,7,6,7,6,7,7,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,112,112,20,20,0,0,112,20,20,20,20,20,25,25,25,25,25,25,25,0,30,0,0,30,0,0,30,25,29,29,28,30,25,29,28,30,25,25,25,0,28,0,28,30,30,29,28,30,30,30,30,25,28,29,28,30,25,28,28,30,30,25,30,29,28,30,25,29,28,30,25,29,28,30,25,0,0,0,0,0,37,37,39,37,39,37,39,37,39,37,39,37,39,0,0,37,39,0,0,37,39,113,37,37,39,39,37,39,37,39,37,39,37,39,37,39,37,0,37,37,37,37,0,0,0,0,0,0,0,0,0,0,42,43,46,44,45,42,43,46,44,45,50,50,42,43,44,45,42,43,42,42,43,43,46,46,44,44,45,45,42,43,46,46,46,44,45,0,42,43,46,44,45,114,42,43,42,43,46,44,42,43,46,44,45,0,0,42,43,46,44,45,42,43,46,44,45,42,43,46,44,45,42,43,46,44,45,0,50,50,43,115,53,0,54,53,0,54,53,54,0,0,57,53,54,57,53,54,0,53,54,53,54,0,0,0,57,53,54,57,53,54,57,53,54,57,57,0,57,0,57,57,53,54,0,0,0,57,0,0,53,54,57,53,54,57,53,54,57,53,54,0,0,0,0,0,0,116,61,64,64,64,117,116,61,64,64,63,64,61,63,64,61,63,64,61,63,64,61,63,63,63,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,64,64,63,64,61,116,61,116,61,63,64,61,116,61,63,116,61,61,63,64,61,116,61,63,63,63,116,61,64,117,0,0,0,0,63,0,0,0,63,64,61,116,61,116,61,63,64,61,63,64,61,63,64,61,0,66,66,66,66,66,0,66,66,66,66,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,71,70,70,70,71,70,71,70,70,70,71,71,71,71,70,71,70,71,70,0,71,71,70,71,70,71,70,71,70,70,70,0,118,77,75,0,77,0,118,0,77,75,75,0,118,118,75,0,0,118,78,119,75,76,77,118,78,119,75,76,77,0,75,76,75,76,78,78,119,78,119,0,75,76,77,78,78,78,119,75,76,118,78,119,75,76,77,76,118,78,119,75,76,77,76,0,78,78,119,78,75,76,78,118,78,119,75,76,77,118,78,119,75,76,77,118,78,119,75,76,77,78,0,0,0,0,0,0,37,39,0,0,113,37,39,37,0,37,37,37,37,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,47,0,0,0,0,0,0,0,0,0,120,120,120,82,81,82,81,0,0,82,81,82,81,82,81,81,81,0,82,81,82,81,81,82,81,82,81,82,81,121,121,122,121,123,0,83,83,83,0,0,83,83,83,83,83,83,83,83,83,83,83,83,0,85,85,85,85,85,85,85,85,85,85,85,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,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,0,87,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,124,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,124,91,92,93,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,87,106,106,106,0,0,106,106,106,106,0,106,106,106,106,106,106,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,108,107,108,107,108,0,107,107,108,0,107,107,108,107,108,107,107,107,107,108,107,107,0,107,107,108,107,108,107,107,108,107,0,0],"f":[0,[[],1],0,0,[[],[[3,[2]]]],[[],[[3,[2]]]],0,0,0,0,0,0,[[],4],[4,2],0,0,[[],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],5],0,[[]],0,0,0,0,0,0,0,0,[[],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[6,6],[[]],[7,8],[9,[[10,[6]]]],[9,2],[[6,6],5],[[7,7],5],[[6,11],12],[[7,11],12],[[7,11],12],[[]],[[]],[[6,13,4],[[15,[14]]]],[[]],[[]],[16],[[]],[[],2],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[7,5],0,0,0,[[],19],[[],19],[[],19],0,0,[[]],[[]],[20,20],[[]],[[20,5],20],[[20,11],[[17,[21]]]],[[20,11],[[17,[21]]]],[[20,5],20],[[]],[[],20],[[]],[[],20],[[],20],[4,20],[22,20],[[[23,[22]]],24],[[[23,[22]]],24],[[],20],[[]],[[],2],[[],17],[[],17],[[],18],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[25,25],[[]],[25,26],[[[28,[27]]],26],[25,[[17,[2,29]]]],[[[28,[27]]],[[17,[2,29]]]],[[30,11],12],[[30,11],12],[[]],[[]],[31,30],[[]],[32,30],[33,30],[[]],[[[28,[27]],5],[[28,[27]]]],[[]],[[]],[[]],[[]],[[[28,[27]],34],[[28,[27]]]],[[27,25],[[28,[27]]]],[16],[30,[[15,[35]]]],[[]],[[],2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[28,4]],[[36,34,4],24],0,0,0,[37,[[3,[38]]]],[[]],[[]],[[]],[[]],[37,37],[39,39],[[]],[[]],[[37,11],12],[[39,11],12],[[]],[[]],[[],[[24,[[3,[38]]]]]],[[[15,[40]]],[[24,[[3,[38]]]]]],0,0,[38,[[24,[2]]]],[4,[[24,[38]]]],[[]],[[]],[[],24],[41,[[24,[37]]]],[4,[[24,[37]]]],[38,[[24,[39]]]],[4,[[24,[39]]]],0,0,[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[41,[[24,[2]]]],0,0,0,0,[4,[[24,[41]]]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[42,8],[43,8],[44,8],[45,8],0,0,[[42,11],12],[[42,11],[[17,[21]]]],[[43,11],[[17,[21]]]],[[43,11],12],[[46,11],[[17,[21]]]],[[46,11],12],[[44,11],[[17,[21]]]],[[44,11],12],[[45,11],12],[[45,11],[[17,[21]]]],[[]],[[]],[32,46],[47,46],[[]],[[]],[[]],[[],8],[[]],[[]],[[]],[[]],[[]],[48],0,0,[[8,[49,[2]]],[[51,[50]]]],[[8,[49,[2]]],[[51,[50]]]],[[52,[49,[2]]],[[51,[50]]]],[8,[[51,[50]]]],[16],[16],[16],[16],[16],[8],[32,2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],0,[[],5],[[],5],[43,5],[8],0,0,0,0,0,0,0,0,0,[[13,13],5],[[]],[[]],[[]],[[]],[[]],[[]],[[[23,[13]],53,54],[[24,[14]]]],[53,53],[54,54],[[]],[[]],[13,14],[[55,5],2],[[56,5],2],[[57,57],5],[[53,53],5],[[54,54],5],[57,58],[[53,11],12],[[54,11],12],[[]],[[]],[[]],[[],[[24,[57]]]],[[[23,[13]],5],[[24,[57]]]],0,[57],[[[24,[57]],[24,[57]]],5],[57,58],[[]],[[]],[[]],[13,5],[[[23,[13]],[23,[13]]],14],[13,14],[57,58],[[[23,[13]],[23,[13]],5],5],[13,[[59,[13]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,0,0,0,[[60,61],8],[[],58],[61,58],0,0,0,[[],58],[[],62],[61,62],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[63,63],[64,64],[61,61],[[]],[[]],[[]],0,0,0,[[61,61],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[63,11],12],[[64,11],12],[[61,11],[[17,[21]]]],[[],58],[61,58],[[],58],[61,58],[[]],[[]],[[]],[[],62],[61,62],0,[[],58],[61,58],[61],[[]],[[]],[[]],[[],58],[61,58],0,0,0,[[],58],[61,58],[61,64],[[],2],[[56,58],4],[62,[[59,[4]]]],[[62,62],2],[[],[[17,[[3,[63]],32]]]],0,[[],[[17,[61,2]]]],0,[[60,61],8],[[]],[[]],[[]],[[],58],[61,58],[[],58],[61,58],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[[]],[[]],[65,66],[[[66,[67]]],[[15,[[24,[[3,[65]]]]]]]],[[],17],[[],17],[[],18],[4,10],[4,[[10,[2]]]],[[],40],[4,[[17,[56,2]]]],[[40,4,5],[[17,[40,2]]]],[[40,4,40,5],[[17,[40,2]]]],[3,5],[[],5],[[],5],[[]],[4,[[17,[68,69]]]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,[[],70],0,[71,4],[[71,71],5],[[71,11],12],[[71,11],[[17,[21]]]],[[]],[[]],[[]],[[]],[[70,4],[[17,[58,71]]]],[4,[[17,[58,71]]]],[16],[[],2],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[70,70],[[70,5],70],[[70,4],70],[4,[[17,[72,2]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[73,74,4,5],10],[75,75],[76,76],[[]],[[]],0,0,0,0,0,0,[[75,75],5],[[76,76],5],[[77,77],5],[78,10],0,0,0,[[75,11],12],[[76,11],12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],0,[[[23,[13]],55,[15,[40]],[15,[40]],5,76],[[17,[2,2]]]],0,0,0,[[],[[24,[[3,[38]]]]]],[[[15,[40]]],[[24,[[3,[38]]]]]],0,0,[38,[[24,[2]]]],[4,[[24,[38]]]],[[],24],0,0,0,[41,[[24,[2]]]],0,0,0,0,[4,[[24,[41]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[47,48],10],[[],79],[34,[[79,[34]]]],[34,79],[[],[[79,[34]]]],0,[[],38],[[],41],[[],38],[[],41],[34,24],[34,24],[72,[[24,[[15,[80]]]]]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[81,81],[[]],[[22,82],2],[[]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,0,0,0,0,0,[[]],[[]],[[83,83],84],[[],[[3,[83]]]],[34,5],[[83,83],5],[[83,11],12],[[]],[4,[[17,[[3,[83]],2]]]],[4,[[17,[83,4]]]],0,[[]],0,[[83,83],[[15,[84]]]],[[],17],[[],17],[[],18],0,[[]],[[]],0,[[]],[[1,34],85],[[]],[34,85],[85,15],[[],17],[[],17],[[],18],0,0,[[],[[17,[86]]]],[[],[[17,[86]]]],[34,5],[4,[[15,[34]]]],[34,[[15,[4]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[34,34],34],[87,5],[87,24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],88],[[],89],[[],90],[[],91],[[],92],[[],93],[[],94],[[],95],[[],96],[[],97],[[],98],[[],99],[[],100],[[],101],[[],102],[[],103],[[],104],[[],105],[[51,5],87],[[],34],[88,34],[89,34],[90,34],[91,34],[92,34],[93,34],[94,34],[95,34],[96,34],[97,34],[98,34],[99,34],[100,34],[101,34],[102,34],[103,34],[104,34],[105,34],[[],34],[[],34],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[],2],[[],2],[91,2],[92,2],[93,2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[34,88],[87,[[24,[34]]]],0,0,0,0,0,[[]],[[]],[106,106],[[]],[9,106],[[106,106],5],[[106,11],12],[[]],[[]],[[]],[[],17],[[],17],[[],18],0,0,[[],19],[[],19],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[107,[[24,[2]]]],[108],[[]],[107],[[]],[[]],[[],109],[107,2],[[]],[[]],[107,109],[[]],[107,5],[[],108],[[[23,[13]]],108],[107,110],[108,15],[107,8],[107,111],[[]],[107,2],[[],17],[[],17],[[],17],[[],17],[107,2],[[],18],[[],18],[107,2],[60,8],[[4,4],84]],"p":[[8,"Iterator"],[3,"String"],[3,"Vec"],[15,"str"],[15,"bool"],[4,"BackupMode"],[4,"BackupError"],[15,"i32"],[3,"ArgMatches"],[6,"UResult"],[3,"Formatter"],[6,"Result"],[3,"Path"],[3,"PathBuf"],[4,"Option"],[3,"Demand"],[4,"Result"],[3,"TypeId"],[3,"Arg"],[3,"Quoted"],[3,"Error"],[3,"OsStr"],[8,"AsRef"],[6,"Result"],[4,"Format"],[6,"DecodeResult"],[8,"Read"],[3,"Data"],[4,"EncodeError"],[4,"DecodeError"],[4,"DecodeError"],[3,"Error"],[3,"DecodeError"],[15,"usize"],[8,"Error"],[8,"Write"],[3,"Passwd"],[6,"gid_t"],[3,"Group"],[15,"u32"],[6,"uid_t"],[3,"USimpleError"],[3,"UUsageError"],[3,"ExitCode"],[3,"ClapErrorWrapper"],[3,"UIoError"],[6,"Error"],[8,"FnOnce"],[8,"Into"],[8,"UError"],[3,"Box"],[4,"ErrorKind"],[4,"MissingHandling"],[4,"ResolveMode"],[3,"Metadata"],[6,"mode_t"],[3,"FileInformation"],[15,"u64"],[4,"Cow"],[15,"i8"],[3,"statfs_fn"],[15,"i64"],[3,"MountInfo"],[3,"FsUsage"],[15,"u8"],[3,"Lines"],[8,"BufRead"],[3,"Pattern"],[3,"PatternError"],[3,"Parser"],[4,"ParseSizeError"],[3,"Duration"],[3,"Command"],[8,"Args"],[4,"VerbosityLevel"],[3,"Verbosity"],[4,"TraverseSymlinks"],[3,"ChownExecutor"],[6,"Result"],[3,"ExitStatus"],[4,"Quotes"],[4,"QuotingStyle"],[3,"Range"],[4,"Ordering"],[3,"RingBuffer"],[4,"Errno"],[3,"DigestWriter"],[3,"Blake2b"],[3,"Blake3"],[3,"Sm3"],[3,"CRC"],[3,"BSD"],[3,"SYSV"],[3,"Md5"],[3,"Sha1"],[3,"Sha224"],[3,"Sha256"],[3,"Sha384"],[3,"Sha512"],[3,"Sha3_224"],[3,"Sha3_256"],[3,"Sha3_384"],[3,"Sha3_512"],[3,"Shake128"],[3,"Shake256"],[4,"UpdateMode"],[3,"Utmpx"],[3,"UtmpxIter"],[3,"utmpx"],[3,"OffsetDateTime"],[15,"i16"],[8,"Quotable"],[8,"Locate"],[8,"FromIo"],[8,"UClapError"],[8,"FsMeta"],[8,"BirthTime"],[4,"IfFrom"],[3,"GidUidOwnerFilter"],[8,"ChildExt"],[13,"Shell"],[13,"C"],[13,"Literal"],[8,"Digest"]]},\ +"uucore":{"doc":"","t":"IFAOLLOOAAAAFFAAFOOOOAXAAAAAAAAAAOAAFAFOOOOAAOAFAANRHENENNNNNALLLLLLLFFLLLLLLLFLLLLLLLLLLLLHHHFFFIDLLLLLLLLLLLLLLLFFKLLLLLNNNNNNNDNEGNEENNNLLLLLLLLLLFLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFDIDLLLLLLLLLLLLLFFMMFFLLKLLLLMMLLLLLLLLMFMMMMFDDIIIDGDDLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLFLLLLLKMMLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLOLLLKNDNNENNNEFLLLLLLFLLLLFFFLLLLLLLLLLLOLFLLLLFFFLFFLLLLLLLLLLLIIDDDFKLMMMKKLMMLLLLLLLLLLLLMMMLMMMMMMMMMMMMMMMMMMMMMMLLLKLKLLLLKLMKLLLLLKLMMMKLLKFFFFMFDFLLLKLKLLLLLLLLLLDLLLLLFLLLLFFFFFFFFFFFNNEDNMMLLLLMLMLLLLLLLLLFLLLLLLLLLLLFNNNDNDNENNNENNNDELLLLLLLLLLLLFLLLLMMMMMALLLLMMMLLLLLLLLMLLLLLLMAMMMMLLMLLLLLLLLLLLLLLLLLLMFDIDFFMMFFKMMMFMMMMFRRRRRRRAAAARRRRRRRRRRRGGLFFFFIFFFFKKKNNNNEENNLLLLLLFLLLLLLLLLLLMMMMMDLLLFFLLLLLMLMLLLLDLLMLLLLLLLLHHFFFFFDDDDIDDDDDDDDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNEALLLLFLLLLLLLLHHFFRRRHRRRRRRRRRRRDDLLLLLLFLLLFLLLLLLLLLLLLFLLLLLLLLLFF","n":["Args","args_os","backup_control","bin","collect_ignore","collect_lossy","crash","crash_if_err","display","encoding","entries","error","execution_phrase","format_usage","fs","fsext","get_utility_is_second_arg","has","help_about","help_section","help_usage","lines","main","memo","mode","os","panic","parse_glob","parse_size","parse_time","perms","pipes","process","prompt_yes","quoting_style","ranges","read_yes","ringbuffer","set_utility_is_second_arg","show","show_error","show_if_err","show_warning","signals","sum","uio_error","update_control","util_name","utmpx","version_cmp","AmbiguousArgument","BACKUP_CONTROL_LONG_HELP","BACKUP_CONTROL_VALUES","BackupError","BackupImpossible","BackupMode","ExistingBackup","InvalidArgument","NoBackup","NumberedBackup","SimpleBackup","arguments","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","code","determine_backup_mode","determine_backup_suffix","eq","eq","fmt","fmt","fmt","from","from","get_backup_path","into","into","provide","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","usage","OPT_BACKUP","OPT_BACKUP_NO_ARG","OPT_SUFFIX","backup","backup_no_args","suffix","Quotable","Quoted","borrow","borrow_mut","clone","clone_into","external","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","provide","source","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","wrap_print","wrap_write","Group","Locate","Passwd","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","ClapErrorWrapper","ExitCode","FromIo","UClapError","UError","UIoError","UResult","USimpleError","UUsageError","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","code","code","code","code","code","code","code","code","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_exit_code","into","into","into","into","into","map_err_context","message","message","new","new","new","new","provide","provide","provide","provide","provide","set_exit_code","strip_errno","to_string","to_string","to_string","to_string","to_string","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","uio_error","usage","usage","usage","with_exit_code","Existing","FileInformation","Logical","Missing","MissingHandling","None","Normal","Physical","ResolveMode","are_hardlinks_to_same_file","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","canonicalize","clone","clone","clone_into","clone_into","dir_strip_dot_for_creation","display_permissions","display_permissions_unix","eq","eq","eq","file_size","fmt","fmt","from","from","from","from_file","from_path","has","hash","infos_refer_to_same_file","inode","into","into","into","is_symlink_loop","make_path_relative_to","normalize_path","number_of_links","paths_refer_to_same_file","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","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","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","printf","sprintf","get_umask","parse_mode","parse_numeric","parse_symbolic","strip_minus_from_mode","is_wsl_1","is_wsl_2","mute_sigpipe_panic","from_str","InvalidSuffix","ParseFailure","ParseSizeError","Parser","SizeTooBig","allow_list","b_byte_count","borrow","borrow","borrow_mut","borrow_mut","capital_b_bytes","default","default_unit","description","eq","fmt","fmt","from","from","into","into","parse","parse_size","provide","to_string","try_from","try_from","try_into","try_into","type_id","type_id","with_allow_list","with_b_byte_count","with_default_unit","from_str","All","All","Changes","ChownExecutor","First","GidUidOwnerFilter","Group","IfFrom","None","Normal","Silent","TraverseSymlinks","User","UserGroup","Verbose","Verbosity","VerbosityLevel","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chown_base","clone","clone","clone_into","clone_into","dereference","dest_gid","dest_gid","dest_uid","dest_uid","entries","eq","eq","eq","exec","files","filter","filter","fmt","fmt","from","from","from","from","from","from","groups_only","into","into","into","into","into","into","level","options","preserve_root","raw_owner","raw_owner","recursive","to_owned","to_owned","traverse_symlinks","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","verbosity","wrap_chown","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","HELP","RECURSIVE","REFERENCE","dereference","preserve_root","traverse","verbosity","DEREFERENCE","NO_DEREFERENCE","NO_PRESERVE","PRESERVE","EVERY","NO_TRAVERSE","TRAVERSE","CHANGES","QUIET","SILENT","VERBOSE","Error","Result","map_err_context","pipe","splice","splice_exact","vmsplice","ChildExt","getegid","geteuid","getgid","getuid","send_signal","send_signal_group","wait_or_timeout","C","Double","Literal","None","Quotes","QuotingStyle","Shell","Single","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","escape_name","from","from","into","into","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","always_quote","escape","quotes","show_control","show_control","Range","borrow","borrow_mut","cmp","complement","contain","eq","fmt","from","from_list","from_str","high","into","low","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","enable_pipe_errors","ignore_interrupts","is_signal","signal_by_name_or_value","signal_name_by_value","BSD","Blake2b","Blake3","CRC","Digest","DigestWriter","Md5","SYSV","Sha1","Sha224","Sha256","Sha384","Sha3_224","Sha3_256","Sha3_384","Sha3_512","Sha512","Shake128","Shake256","Sm3","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","div_ceil","finalize","flush","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_finalize","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","hash_update","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bits","output_bytes","output_bytes","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","reset","result_str","result_str","result_str","result_str","result_str","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","with_output_bytes","write","ReplaceAll","ReplaceIfOlder","ReplaceNone","UpdateMode","arguments","borrow","borrow_mut","clone","clone_into","determine_update_mode","eq","fmt","from","into","to_owned","try_from","try_into","type_id","OPT_UPDATE","OPT_UPDATE_NO_ARG","update","update_no_args","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::backup_control","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::backup_control::arguments","","","","","","uucore::display","","","","","","","","","","","","","","","","","","","","","","","","","uucore::encoding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::entries","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::fsext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::lines","","","","","","","","","","","uucore::memo","","uucore::mode","","","","","uucore::os","","uucore::panic","uucore::parse_glob","uucore::parse_size","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::parse_time","uucore::perms","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::perms::entries","","","","","","","","","","","","","","","","","","","uucore::perms::options","","","","","","","","","","","uucore::perms::options::dereference","","uucore::perms::options::preserve_root","","uucore::perms::options::traverse","","","uucore::perms::options::verbosity","","","","uucore::pipes","","","","","","","uucore::process","","","","","","","","uucore::quoting_style","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::quoting_style::QuotingStyle","","","","","uucore::ranges","","","","","","","","","","","","","","","","","","uucore::ringbuffer","","","","","","","","","","","","uucore::signals","","","","","","","uucore::sum","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::update_control","","","","","","","","","","","","","","","","","","uucore::update_control::arguments","","","","uucore::utmpx","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uucore::version_cmp"],"d":["","","Implement GNU-style backup functionality.","","Collects the iterator into a Vec<String>, removing any …","Collects the iterator into a Vec<String>, lossily …","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”.","Generate the usage string for clap.","Set of functions to manage files and symlinks","Set of functions to manage file systems","","","Get the about text from the help file.","Reads a section from a file of the util as a str literal.","Get the usage from the help file.","Iterate over lines, including the line ending character(s).","","Main entry point for our implementation of printf.","Set of functions to parse modes","","Custom panic hooks that allow silencing certain types of …","Parsing a glob Pattern from a string.","","Parsing a duration from a string.","Common functions to manage permissions","","Set of functions to manage IDs","Prompt the user with a formatted string and returns true …","","","Read a line from stdin and check whether the first …","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 …","Display an error and set global exit code in error case.","Print a warning message to stderr.","","Implementations of digest functions, like md5 and sha1.","Shorthand to construct UIoError-instances.","Implement GNU-style update functionality.","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.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","‘–backup’ argument","‘-b’ argument","‘-S, –suffix’ argument","An extension trait to apply quoting to strings.","A wrapper around string types for displaying with quoting …","","","","","When quoting for PowerShell, toggle whether to quote for …","","","Toggle forced quoting. If true, quotes are added even if …","Returns the argument unchanged.","","Calls U::from(self).","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 …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Fetch desired entry.","","This is a wrapper function for libc::getgrouplist.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","From: …","The list of group IDs returned from GNU’s groups and GNU…","AKA passwd.pw_gid","AKA group.gr_gid","","","Calls U::from(self).","Calls U::from(self).","","","","","","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 wrapper for clap::Error that implements UError","A special error type that does not print any message when …","Enables the conversion from std::io::Error to UError and …","Extension trait for clap::Error to adjust the exit code.","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.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get the last exit code set with set_exit_code. The default …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","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","Checks if two paths are hard links to the same file.","","","","","","","Return the canonical, absolute form of a path.","","","","","For some programs like install or mkdir, dir/. can be …","Display the permissions of a file On non unix like system, …","Display the permissions of a file on a unix like system","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get information from a currently open file","Get information for a given path.","","","Checks if p1 and p2 are the same file information. If …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Checks if there is a symlink loop in the given path.","Converts absolute path to be relative to absolute to path.","Normalize a path by removing relative information For …","","Checks if p1 and p2 are the same file. If error happens …","resolve a relative path","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Read file system list.","","","","","","","","","","","","","","","","","","","","","An iterator over the lines of an instance of BufRead.","","","Returns the argument unchanged.","Calls U::from(self).","","Returns an iterator over the lines, including line ending …","","","","","Write a formatted string to stdout.","Create a new formatted string.","","","","","","Test if the program is running under WSL","","Terminate without error on panics that occur due to broken …","Parse a glob Pattern from a string.","","","","Parser for sizes in SI or IEC units (multiples of 1000 or …","","Whitelist for the suffix","Whether to treat “b” as a “byte count” instead of …","","","","","Whether to treat the suffix “B” as meaning “bytes”.","","Default unit when no suffix is provided","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Parse a size string into a number of bytes.","Parse a size string into a number of bytes.","","","","","","","","","","","","Parse a duration from a string.","","","","","","","","","","","","","","","","","The various level of verbosity","","","","","","","","","","","","","Base implementation for chgrp and chown.","","","","","","","","","","Get password/group file entry","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","Send a signal to a process group.","Wait for a process to finish or return after the specified …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Test if at least one of the given Ranges contain the …","","","Returns the argument unchanged.","","Parse a string of the form a-b into a Range","","Calls U::from(self).","","","","","","A fixed-size ring buffer backed by a VecDeque.","","","","Returns the argument unchanged.","","Calls U::from(self).","","Append a value to the end of the ring buffer.","","","","","","","","","","","","first element of the tuple is the blake2b state second is …","","","","A struct that writes to a digest.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return a new Blake2b instance with a custom output bytes …","","","","","","","","","","","Determine the “mode” for the update operation to …","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Iterator of login records","","","","","Canonicalize host name using DNS","","","A.K.A. ut.ut_exit","Returns the argument unchanged.","Returns the argument unchanged.","","A.K.A. ut.ut_host","Calls U::from(self).","Calls U::from(self).","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,0,0,0,74,74,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,6,7,6,6,6,0,6,7,6,7,6,6,7,0,0,6,7,6,7,7,6,7,0,6,7,7,6,7,6,7,6,7,6,7,7,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,112,112,20,20,0,0,112,20,20,20,20,20,25,25,25,25,25,25,25,0,30,0,0,30,0,0,30,25,29,29,28,30,25,29,28,30,25,25,25,0,28,0,28,30,30,29,28,30,30,30,30,25,28,29,28,30,25,28,28,30,30,25,30,29,28,30,25,29,28,30,25,29,28,30,25,0,0,0,0,0,37,37,39,37,39,37,39,37,39,37,39,37,39,0,0,37,39,0,0,37,39,113,37,37,39,39,37,39,37,39,37,39,37,39,37,39,37,0,37,37,37,37,0,0,0,0,0,0,0,0,0,0,42,43,46,44,45,42,43,46,44,45,50,50,42,43,44,45,42,43,42,42,43,43,46,46,44,44,45,45,42,43,46,46,46,44,45,0,42,43,46,44,45,114,42,43,42,43,46,44,42,43,46,44,45,0,0,42,43,46,44,45,42,43,46,44,45,42,43,46,44,45,42,43,46,44,45,0,50,50,43,115,53,0,54,53,0,54,53,54,0,0,57,53,54,57,53,54,0,53,54,53,54,0,0,0,57,53,54,57,53,54,57,53,54,57,57,0,57,0,57,57,53,54,0,0,0,57,0,0,53,54,57,53,54,57,53,54,57,53,54,0,0,0,0,0,0,116,61,64,64,64,117,116,61,64,64,63,64,61,63,64,61,63,64,61,63,64,61,63,63,63,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,64,64,63,64,61,116,61,116,61,63,64,61,116,61,63,116,61,61,63,64,61,116,61,63,63,63,116,61,64,117,0,0,0,0,63,0,0,0,63,64,61,116,61,116,61,63,64,61,63,64,61,63,64,61,0,66,66,66,66,66,0,66,66,66,66,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,71,70,70,70,71,70,71,70,70,70,71,71,71,71,70,71,70,71,70,0,71,71,70,71,70,71,70,71,70,70,70,0,118,77,75,0,77,0,118,0,77,75,75,0,118,118,75,0,0,118,78,119,75,76,77,118,78,119,75,76,77,0,75,76,75,76,78,78,119,78,119,0,75,76,77,78,78,78,119,75,76,118,78,119,75,76,77,76,118,78,119,75,76,77,76,0,78,78,119,78,75,76,78,118,78,119,75,76,77,118,78,119,75,76,77,118,78,119,75,76,77,78,0,0,0,0,0,0,37,39,0,0,113,37,39,37,0,37,37,37,37,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,47,0,0,0,0,0,0,0,0,0,120,120,120,82,81,82,81,0,0,82,81,82,81,82,81,81,81,0,82,81,82,81,81,82,81,82,81,82,81,121,121,122,121,123,0,83,83,83,0,0,83,83,83,83,83,83,83,83,83,83,83,83,0,85,85,85,85,85,85,85,85,85,85,85,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,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,0,87,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,124,124,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,124,124,91,92,93,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,87,88,87,106,106,106,0,0,106,106,106,106,0,106,106,106,106,106,106,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,108,107,108,107,108,0,107,107,108,0,107,107,108,107,108,107,107,107,107,108,107,107,0,107,107,108,107,108,107,107,108,107,0,0],"f":[0,[[],1],0,0,[[],[[3,[2]]]],[[],[[3,[2]]]],0,0,0,0,0,0,[[],4],[4,2],0,0,[[],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],5],0,[[]],0,0,0,0,0,0,0,0,[[],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[6,6],[[]],[7,8],[9,[[10,[6]]]],[9,2],[[6,6],5],[[7,7],5],[[6,11],12],[[7,11],12],[[7,11],12],[[]],[[]],[[6,13,4],[[15,[14]]]],[[]],[[]],[16],[[]],[[],2],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[7,5],0,0,0,[[],19],[[],19],[[],19],0,0,[[]],[[]],[20,20],[[]],[[20,5],20],[[20,11],[[17,[21]]]],[[20,11],[[17,[21]]]],[[20,5],20],[[]],[[],20],[[]],[[],20],[[],20],[4,20],[22,20],[[[23,[22]]],24],[[[23,[22]]],24],[[],20],[[]],[[],2],[[],17],[[],17],[[],18],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[25,25],[[]],[25,26],[[[28,[27]]],26],[25,[[17,[2,29]]]],[[[28,[27]]],[[17,[2,29]]]],[[30,11],12],[[30,11],12],[[]],[[]],[31,30],[32,30],[33,30],[[]],[[]],[[[28,[27]],5],[[28,[27]]]],[[]],[[]],[[]],[[]],[[[28,[27]],34],[[28,[27]]]],[[27,25],[[28,[27]]]],[16],[30,[[15,[35]]]],[[]],[[],2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[28,4]],[[36,34,4],24],0,0,0,[37,[[3,[38]]]],[[]],[[]],[[]],[[]],[37,37],[39,39],[[]],[[]],[[37,11],12],[[39,11],12],[[]],[[]],[[],[[24,[[3,[38]]]]]],[[[15,[40]]],[[24,[[3,[38]]]]]],0,0,[38,[[24,[2]]]],[4,[[24,[38]]]],[[]],[[]],[[],24],[4,[[24,[37]]]],[41,[[24,[37]]]],[4,[[24,[39]]]],[38,[[24,[39]]]],0,0,[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[41,[[24,[2]]]],0,0,0,0,[4,[[24,[41]]]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[42,8],[43,8],[44,8],[45,8],0,0,[[42,11],12],[[42,11],[[17,[21]]]],[[43,11],[[17,[21]]]],[[43,11],12],[[46,11],[[17,[21]]]],[[46,11],12],[[44,11],[[17,[21]]]],[[44,11],12],[[45,11],12],[[45,11],[[17,[21]]]],[[]],[[]],[33,46],[47,46],[[]],[[]],[[]],[[],8],[[]],[[]],[[]],[[]],[[]],[48],0,0,[[8,[49,[2]]],[[51,[50]]]],[[8,[49,[2]]],[[51,[50]]]],[[52,[49,[2]]],[[51,[50]]]],[8,[[51,[50]]]],[16],[16],[16],[16],[16],[8],[33,2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],0,[[],5],[[],5],[43,5],[8],0,0,0,0,0,0,0,0,0,[[13,13],5],[[]],[[]],[[]],[[]],[[]],[[]],[[[23,[13]],53,54],[[24,[14]]]],[53,53],[54,54],[[]],[[]],[13,14],[[55,5],2],[[56,5],2],[[57,57],5],[[53,53],5],[[54,54],5],[57,58],[[53,11],12],[[54,11],12],[[]],[[]],[[]],[[],[[24,[57]]]],[[[23,[13]],5],[[24,[57]]]],0,[57],[[[24,[57]],[24,[57]]],5],[57,58],[[]],[[]],[[]],[13,5],[[[23,[13]],[23,[13]]],14],[13,14],[57,58],[[[23,[13]],[23,[13]],5],5],[13,[[59,[13]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,0,0,0,[[60,61],8],[[],58],[61,58],0,0,0,[[],58],[[],62],[61,62],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[63,63],[64,64],[61,61],[[]],[[]],[[]],0,0,0,[[61,61],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[63,11],12],[[64,11],12],[[61,11],[[17,[21]]]],[[],58],[61,58],[[],58],[61,58],[[]],[[]],[[]],[[],62],[61,62],0,[[],58],[61,58],[61],[[]],[[]],[[]],[[],58],[61,58],0,0,0,[[],58],[61,58],[61,64],[[],2],[[56,58],4],[62,[[59,[4]]]],[[62,62],2],[[],[[17,[[3,[63]],33]]]],0,[[],[[17,[61,2]]]],0,[[60,61],8],[[]],[[]],[[]],[[],58],[61,58],[[],58],[61,58],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[[]],[[]],[65,66],[[[66,[67]]],[[15,[[24,[[3,[65]]]]]]]],[[],17],[[],17],[[],18],[4,10],[4,[[10,[2]]]],[[],40],[4,[[17,[56,2]]]],[[40,4,5],[[17,[40,2]]]],[[40,4,40,5],[[17,[40,2]]]],[3,5],[[],5],[[],5],[[]],[4,[[17,[68,69]]]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,[[],70],0,[71,4],[[71,71],5],[[71,11],[[17,[21]]]],[[71,11],12],[[]],[[]],[[]],[[]],[[70,4],[[17,[58,71]]]],[4,[[17,[58,71]]]],[16],[[],2],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[70,70],[[70,5],70],[[70,4],70],[4,[[17,[72,2]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[73,74,4,5],10],[75,75],[76,76],[[]],[[]],0,0,0,0,0,0,[[75,75],5],[[76,76],5],[[77,77],5],[78,10],0,0,0,[[75,11],12],[[76,11],12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],0,[[[23,[13]],55,[15,[40]],[15,[40]],5,76],[[17,[2,2]]]],0,0,0,[[],[[24,[[3,[38]]]]]],[[[15,[40]]],[[24,[[3,[38]]]]]],0,0,[38,[[24,[2]]]],[4,[[24,[38]]]],[[],24],0,0,0,[41,[[24,[2]]]],0,0,0,0,[4,[[24,[41]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[47,48],10],[[],79],[34,[[79,[34]]]],[34,79],[[],[[79,[34]]]],0,[[],38],[[],41],[[],38],[[],41],[34,24],[34,24],[72,[[24,[[15,[80]]]]]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[81,81],[[]],[[22,82],2],[[]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,0,0,0,0,0,[[]],[[]],[[83,83],84],[[],[[3,[83]]]],[34,5],[[83,83],5],[[83,11],12],[[]],[4,[[17,[[3,[83]],2]]]],[4,[[17,[83,4]]]],0,[[]],0,[[83,83],[[15,[84]]]],[[],17],[[],17],[[],18],0,[[]],[[]],0,[[]],[[1,34],85],[[]],[34,85],[85,15],[[],17],[[],17],[[],18],0,0,[[],[[17,[86]]]],[[],[[17,[86]]]],[34,5],[4,[[15,[34]]]],[34,[[15,[4]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[34,34],34],[87,5],[87,24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],88],[[],89],[[],90],[[],91],[[],92],[[],93],[[],94],[[],95],[[],96],[[],97],[[],98],[[],99],[[],100],[[],101],[[],102],[[],103],[[],104],[[],105],[[51,5],87],[[],34],[88,34],[89,34],[90,34],[91,34],[92,34],[93,34],[94,34],[95,34],[96,34],[97,34],[98,34],[99,34],[100,34],[101,34],[102,34],[103,34],[104,34],[105,34],[[],34],[[],34],[[]],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[[],2],[[],2],[91,2],[92,2],[93,2],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[34,88],[87,[[24,[34]]]],0,0,0,0,0,[[]],[[]],[106,106],[[]],[9,106],[[106,106],5],[[106,11],12],[[]],[[]],[[]],[[],17],[[],17],[[],18],0,0,[[],19],[[],19],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[107,[[24,[2]]]],[108],[[]],[107],[[]],[[]],[[],109],[107,2],[[]],[[]],[107,109],[[]],[107,5],[[],108],[[[23,[13]]],108],[107,110],[108,15],[107,8],[107,111],[[]],[107,2],[[],17],[[],17],[[],17],[[],17],[107,2],[[],18],[[],18],[107,2],[60,8],[[4,4],84]],"p":[[8,"Iterator"],[3,"String"],[3,"Vec"],[15,"str"],[15,"bool"],[4,"BackupMode"],[4,"BackupError"],[15,"i32"],[3,"ArgMatches"],[6,"UResult"],[3,"Formatter"],[6,"Result"],[3,"Path"],[3,"PathBuf"],[4,"Option"],[3,"Demand"],[4,"Result"],[3,"TypeId"],[3,"Arg"],[3,"Quoted"],[3,"Error"],[3,"OsStr"],[8,"AsRef"],[6,"Result"],[4,"Format"],[6,"DecodeResult"],[8,"Read"],[3,"Data"],[4,"EncodeError"],[4,"DecodeError"],[4,"DecodeError"],[3,"DecodeError"],[3,"Error"],[15,"usize"],[8,"Error"],[8,"Write"],[3,"Passwd"],[6,"gid_t"],[3,"Group"],[15,"u32"],[6,"uid_t"],[3,"USimpleError"],[3,"UUsageError"],[3,"ExitCode"],[3,"ClapErrorWrapper"],[3,"UIoError"],[6,"Error"],[8,"FnOnce"],[8,"Into"],[8,"UError"],[3,"Box"],[4,"ErrorKind"],[4,"MissingHandling"],[4,"ResolveMode"],[3,"Metadata"],[6,"mode_t"],[3,"FileInformation"],[15,"u64"],[4,"Cow"],[15,"i8"],[3,"statfs_fn"],[15,"i64"],[3,"MountInfo"],[3,"FsUsage"],[15,"u8"],[3,"Lines"],[8,"BufRead"],[3,"Pattern"],[3,"PatternError"],[3,"Parser"],[4,"ParseSizeError"],[3,"Duration"],[3,"Command"],[8,"Args"],[4,"VerbosityLevel"],[3,"Verbosity"],[4,"TraverseSymlinks"],[3,"ChownExecutor"],[6,"Result"],[3,"ExitStatus"],[4,"Quotes"],[4,"QuotingStyle"],[3,"Range"],[4,"Ordering"],[3,"RingBuffer"],[4,"Errno"],[3,"DigestWriter"],[3,"Blake2b"],[3,"Blake3"],[3,"Sm3"],[3,"CRC"],[3,"BSD"],[3,"SYSV"],[3,"Md5"],[3,"Sha1"],[3,"Sha224"],[3,"Sha256"],[3,"Sha384"],[3,"Sha512"],[3,"Sha3_224"],[3,"Sha3_256"],[3,"Sha3_384"],[3,"Sha3_512"],[3,"Shake128"],[3,"Shake256"],[4,"UpdateMode"],[3,"Utmpx"],[3,"UtmpxIter"],[3,"utmpx"],[3,"OffsetDateTime"],[15,"i16"],[8,"Quotable"],[8,"Locate"],[8,"FromIo"],[8,"UClapError"],[8,"FsMeta"],[8,"BirthTime"],[4,"IfFrom"],[3,"GidUidOwnerFilter"],[8,"ChildExt"],[13,"Shell"],[13,"C"],[13,"Literal"],[8,"Digest"]]},\ "uucore_procs":{"doc":"","t":"OOOX","n":["help_about","help_section","help_usage","main"],"q":["uucore_procs","","",""],"d":["Get the about text from the help file.","Reads a section from a file of the util as a str literal.","Get the usage from the help file.",""],"i":[0,0,0,0],"f":[0,0,0,0],"p":[]},\ "uudoc":{"doc":"","t":"DGLLLLLMLLLLLFLLFLMMLLMLLLLFMLLM","n":["MDWriter","UtilityMap","about","additional","after_help","borrow","borrow_mut","command","deref","deref_mut","drop","examples","from","get_zip_content","init","into","main","markdown","markdown","name","options","platforms","tldr_zip","try_from","try_into","type_id","usage","util_map","utils_per_platform","version","vzip","w"],"q":["uudoc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","",""],"i":[0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1],"f":[0,0,[1,2],[1,2],[1,2],[[]],[[]],0,[3],[3],[3],[1,2],[[]],[[4,5],[[7,[6]]]],[[],3],[[]],[[],2],[1,2],0,0,[1,2],[1,2],0,[[],8],[[],8],[[],9],[1,2],[[],[[10,[5]]]],0,[1,2],[[]],0],"p":[[3,"MDWriter"],[6,"Result"],[15,"usize"],[3,"ZipArchive"],[15,"str"],[3,"String"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"Map"]]},\ "vdir":{"doc":"","t":"F","n":["main"],"q":["vdir"],"d":[""],"i":[0],"f":[[[]]],"p":[]},\ diff --git a/dev/src/uu_date/date.rs.html b/dev/src/uu_date/date.rs.html index 1dcb2b5f6..3fe6c137a 100644 --- a/dev/src/uu_date/date.rs.html +++ b/dev/src/uu_date/date.rs.html @@ -464,6 +464,13 @@ 464 465 466 +467 +468 +469 +470 +471 +472 +473
// This file is part of the uutils coreutils package.
 //
 // (c) Anthony Deschamps <anthony.j.deschamps@gmail.com>
@@ -728,6 +735,13 @@
                 Ok(date) => {
                     // GNU `date` uses `%N` for nano seconds, however crate::chrono uses `%f`
                     let format_string = &format_string.replace("%N", "%f");
+                    // Refuse to pass this string to chrono as it is crashing in this crate
+                    if format_string.contains("%#z") {
+                        return Err(USimpleError::new(
+                            1,
+                            format!("invalid format {}", format_string.replace("%f", "%N")),
+                        ));
+                    }
                     // Hack to work around panic in chrono,
                     // TODO - remove when a fix for https://github.com/chronotope/chrono/issues/623 is released
                     let format_items = StrftimeItems::new(format_string);
diff --git a/dev/src/uu_hashsum/hashsum.rs.html b/dev/src/uu_hashsum/hashsum.rs.html
index f7be5d9e1..53e33aac2 100644
--- a/dev/src/uu_hashsum/hashsum.rs.html
+++ b/dev/src/uu_hashsum/hashsum.rs.html
@@ -771,6 +771,48 @@
 771
 772
 773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
 
//  * This file is part of the uutils coreutils package.
 //  *
 //  * (c) Alex Lyon <arcterus@mail.com>
@@ -787,6 +829,7 @@
 use clap::ArgAction;
 use clap::{Arg, ArgMatches, Command};
 use hex::encode;
+use regex::Captures;
 use regex::Regex;
 use std::cmp::Ordering;
 use std::error::Error;
@@ -1377,22 +1420,65 @@
             // regular expression, otherwise we use the `{n}` modifier,
             // where `n` is the number of bytes.
             let bytes = options.digest.output_bits() / 4;
-            let modifier = if bytes > 0 {
+            let bytes_marker = if bytes > 0 {
                 format!("{{{bytes}}}")
             } else {
                 "+".to_string()
             };
-            let gnu_re = Regex::new(&format!(
-                r"^(?P<digest>[a-fA-F0-9]{modifier}) (?P<binary>[ \*])(?P<fileName>.*)",
-            ))
-            .map_err(|_| HashsumError::InvalidRegex)?;
+            // BSD reversed mode format is similar to the default mode, but doesn’t use a character to distinguish binary and text modes.
+            let mut bsd_reversed = None;
+
+            /// Creates a Regex for parsing lines based on the given format.
+            /// The default value of `gnu_re` created with this function has to be recreated
+            /// after the initial line has been parsed, as this line dictates the format
+            /// for the rest of them, and mixing of formats is disallowed.
+            fn gnu_re_template(
+                bytes_marker: &str,
+                format_marker: &str,
+            ) -> Result<Regex, HashsumError> {
+                Regex::new(&format!(
+                    r"^(?P<digest>[a-fA-F0-9]{bytes_marker}) {format_marker}(?P<fileName>.*)"
+                ))
+                .map_err(|_| HashsumError::InvalidRegex)
+            }
+            let mut gnu_re = gnu_re_template(&bytes_marker, r"(?P<binary>[ \*])?")?;
             let bsd_re = Regex::new(&format!(
                 r"^{algorithm} \((?P<fileName>.*)\) = (?P<digest>[a-fA-F0-9]{digest_size})",
                 algorithm = options.algoname,
-                digest_size = modifier,
+                digest_size = bytes_marker,
             ))
             .map_err(|_| HashsumError::InvalidRegex)?;
 
+            fn handle_captures(
+                caps: &Captures,
+                bytes_marker: &str,
+                bsd_reversed: &mut Option<bool>,
+                gnu_re: &mut Regex,
+            ) -> Result<(String, String, bool), HashsumError> {
+                if bsd_reversed.is_none() {
+                    let is_bsd_reversed = caps.name("binary").is_none();
+                    let format_marker = if is_bsd_reversed {
+                        ""
+                    } else {
+                        r"(?P<binary>[ \*])"
+                    }
+                    .to_string();
+
+                    *bsd_reversed = Some(is_bsd_reversed);
+                    *gnu_re = gnu_re_template(bytes_marker, &format_marker)?;
+                }
+
+                Ok((
+                    caps.name("fileName").unwrap().as_str().to_string(),
+                    caps.name("digest").unwrap().as_str().to_ascii_lowercase(),
+                    if *bsd_reversed == Some(false) {
+                        caps.name("binary").unwrap().as_str() == "*"
+                    } else {
+                        false
+                    },
+                ))
+            }
+
             let buffer = file;
             for (i, maybe_line) in buffer.lines().enumerate() {
                 let line = match maybe_line {
@@ -1400,14 +1486,12 @@
                     Err(e) => return Err(e.map_err_context(|| "failed to read file".to_string())),
                 };
                 let (ck_filename, sum, binary_check) = match gnu_re.captures(&line) {
-                    Some(caps) => (
-                        caps.name("fileName").unwrap().as_str(),
-                        caps.name("digest").unwrap().as_str().to_ascii_lowercase(),
-                        caps.name("binary").unwrap().as_str() == "*",
-                    ),
+                    Some(caps) => {
+                        handle_captures(&caps, &bytes_marker, &mut bsd_reversed, &mut gnu_re)?
+                    }
                     None => match bsd_re.captures(&line) {
                         Some(caps) => (
-                            caps.name("fileName").unwrap().as_str(),
+                            caps.name("fileName").unwrap().as_str().to_string(),
                             caps.name("digest").unwrap().as_str().to_ascii_lowercase(),
                             true,
                         ),
@@ -1428,7 +1512,7 @@
                         }
                     },
                 };
-                let f = match File::open(ck_filename) {
+                let f = match File::open(ck_filename.clone()) {
                     Err(_) => {
                         failed_open_file += 1;
                         println!(
@@ -1479,7 +1563,7 @@
             )
             .map_err_context(|| "failed to read input".to_string())?;
             if options.tag {
-                println!("{} ({}) = {}", options.algoname, filename.display(), sum);
+                println!("{} ({:?}) = {}", options.algoname, filename.display(), sum);
             } else if options.nonames {
                 println!("{sum}");
             } else if options.zero {
diff --git a/dev/src/uu_more/more.rs.html b/dev/src/uu_more/more.rs.html
index 4cafaa41f..2b1277427 100644
--- a/dev/src/uu_more/more.rs.html
+++ b/dev/src/uu_more/more.rs.html
@@ -573,6 +573,58 @@
 573
 574
 575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
 
//  * This file is part of the uutils coreutils package.
 //  *
 //  * (c) Martin Kysel <code@martinkysel.com>
@@ -631,14 +683,16 @@
     silent: bool,
     clean_print: bool,
     print_over: bool,
+    squeeze: bool,
 }
 
 impl Options {
     fn from(matches: &ArgMatches) -> Self {
         Self {
-            silent: matches.get_flag(options::SILENT),
             clean_print: matches.get_flag(options::CLEAN_PRINT),
             print_over: matches.get_flag(options::PRINT_OVER),
+            silent: matches.get_flag(options::SILENT),
+            squeeze: matches.get_flag(options::SQUEEZE),
         }
     }
 }
@@ -733,6 +787,13 @@
                 .help("Do not scroll, clean screen and display text")
                 .action(ArgAction::SetTrue),
         )
+        .arg(
+            Arg::new(options::SQUEEZE)
+                .short('s')
+                .long(options::SQUEEZE)
+                .help("Squeeze multiple blank lines into one")
+                .action(ArgAction::SetTrue),
+        )
         // The commented arguments below are unimplemented:
         /*
         .arg(
@@ -747,12 +808,6 @@
                 .long(options::NO_PAUSE)
                 .help("Suppress pause after form feed"),
         )
-        .arg(
-            Arg::new(options::SQUEEZE)
-                .short('s')
-                .long(options::SQUEEZE)
-                .help("Squeeze multiple blank lines into one"),
-        )
         .arg(
             Arg::new(options::PLAIN)
                 .short('u')
@@ -952,6 +1007,8 @@
     next_file: Option<&'a str>,
     line_count: usize,
     silent: bool,
+    squeeze: bool,
+    line_squeezed: usize,
 }
 
 impl<'a> Pager<'a> {
@@ -964,6 +1021,8 @@
             next_file,
             line_count,
             silent: options.silent,
+            squeeze: options.squeeze,
+            line_squeezed: 0,
         }
     }
 
@@ -989,7 +1048,21 @@
     }
 
     fn page_up(&mut self) {
-        self.upper_mark = self.upper_mark.saturating_sub(self.content_rows.into());
+        let content_row_usize: usize = self.content_rows.into();
+        self.upper_mark = self
+            .upper_mark
+            .saturating_sub(content_row_usize.saturating_add(self.line_squeezed));
+
+        if self.squeeze {
+            let iter = self.lines.iter().take(self.upper_mark).rev();
+            for line in iter {
+                if line.is_empty() {
+                    self.upper_mark = self.upper_mark.saturating_sub(1);
+                } else {
+                    break;
+                }
+            }
+        }
     }
 
     fn next_line(&mut self) {
@@ -1005,7 +1078,7 @@
         self.content_rows = row.saturating_sub(1);
     }
 
-    fn draw(&self, stdout: &mut std::io::Stdout, wrong_key: Option<char>) {
+    fn draw(&mut self, stdout: &mut std::io::Stdout, wrong_key: Option<char>) {
         let lower_mark = self
             .line_count
             .min(self.upper_mark.saturating_add(self.content_rows.into()));
@@ -1014,13 +1087,44 @@
         stdout.flush().unwrap();
     }
 
-    fn draw_lines(&self, stdout: &mut std::io::Stdout) {
+    fn draw_lines(&mut self, stdout: &mut std::io::Stdout) {
         execute!(stdout, terminal::Clear(terminal::ClearType::CurrentLine)).unwrap();
-        let displayed_lines = self
-            .lines
-            .iter()
-            .skip(self.upper_mark)
-            .take(self.content_rows.into());
+
+        self.line_squeezed = 0;
+        let mut previous_line_blank = false;
+        let mut displayed_lines = Vec::new();
+        let mut iter = self.lines.iter().skip(self.upper_mark);
+
+        while displayed_lines.len() < self.content_rows as usize {
+            match iter.next() {
+                Some(line) => {
+                    if self.squeeze {
+                        match (line.is_empty(), previous_line_blank) {
+                            (true, false) => {
+                                previous_line_blank = true;
+                                displayed_lines.push(line);
+                            }
+                            (false, true) => {
+                                previous_line_blank = false;
+                                displayed_lines.push(line);
+                            }
+                            (false, false) => displayed_lines.push(line),
+                            (true, true) => {
+                                self.line_squeezed += 1;
+                                self.upper_mark += 1;
+                            }
+                        }
+                    } else {
+                        displayed_lines.push(line);
+                    }
+                }
+                // if none the end of the file is reached
+                None => {
+                    self.upper_mark = self.line_count;
+                    break;
+                }
+            }
+        }
 
         for line in displayed_lines {
             stdout.write_all(format!("\r{line}\n").as_bytes()).unwrap();
diff --git a/dev/src/uu_wc/countable.rs.html b/dev/src/uu_wc/countable.rs.html
index 564493191..e98a9a2d2 100644
--- a/dev/src/uu_wc/countable.rs.html
+++ b/dev/src/uu_wc/countable.rs.html
@@ -35,6 +35,7 @@
 35
 36
 37
+38
 
//! Traits and implementations for iterating over lines in a file-like object.
 //!
 //! This module provides a [`WordCountable`] trait and implementations
@@ -65,6 +66,7 @@
         self
     }
 }
+
 impl WordCountable for File {
     type Buffered = BufReader<Self>;
 
diff --git a/dev/src/uu_wc/wc.rs.html b/dev/src/uu_wc/wc.rs.html
index 806fa7e58..5f92debc3 100644
--- a/dev/src/uu_wc/wc.rs.html
+++ b/dev/src/uu_wc/wc.rs.html
@@ -707,6 +707,184 @@
 707
 708
 709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
 
//  * This file is part of the uutils coreutils package.
 //  *
 //  * (c) Boden Garman <bpgarman@gmail.com>
@@ -714,59 +892,79 @@
 //  * For the full copyright and license information, please view the LICENSE
 //  * file that was distributed with this source code.
 
-// cSpell:ignore wc wc's
+// cSpell:ignore ilog wc wc's
 
 mod count_fast;
 mod countable;
 mod utf8;
 mod word_count;
-use clap::builder::ValueParser;
-use count_fast::{count_bytes_chars_and_lines_fast, count_bytes_fast};
-use countable::WordCountable;
+
+use std::{
+    borrow::{Borrow, Cow},
+    cmp::max,
+    ffi::OsString,
+    fs::{self, File},
+    io::{self, Write},
+    iter,
+    path::{Path, PathBuf},
+};
+
+use clap::{builder::ValueParser, crate_version, Arg, ArgAction, ArgMatches, Command};
+use thiserror::Error;
 use unicode_width::UnicodeWidthChar;
 use utf8::{BufReadDecoder, BufReadDecoderError};
-use uucore::{format_usage, help_about, help_usage, show};
-use word_count::{TitledWordCount, WordCount};
 
-use clap::{crate_version, Arg, ArgAction, ArgMatches, Command};
+use uucore::{
+    error::{FromIo, UError, UResult},
+    format_usage, help_about, help_usage,
+    quoting_style::{escape_name, QuotingStyle},
+    show,
+};
 
-use std::cmp::max;
-use std::error::Error;
-use std::ffi::{OsStr, OsString};
-use std::fmt::Display;
-use std::fs::{self, File};
-use std::io::{self, Read, Write};
-use std::path::PathBuf;
-
-use uucore::error::{UError, UResult, USimpleError};
-use uucore::quoting_style::{escape_name, QuotingStyle};
+use crate::{
+    count_fast::{count_bytes_chars_and_lines_fast, count_bytes_fast},
+    countable::WordCountable,
+    word_count::WordCount,
+};
 
 /// The minimum character width for formatting counts when reading from stdin.
 const MINIMUM_WIDTH: usize = 7;
 
-struct Settings {
+struct Settings<'a> {
     show_bytes: bool,
     show_chars: bool,
     show_lines: bool,
     show_words: bool,
     show_max_line_length: bool,
-    files0_from_stdin_mode: bool,
-    title_quoting_style: QuotingStyle,
+    files0_from: Option<Input<'a>>,
     total_when: TotalWhen,
 }
 
-impl Settings {
-    fn new(matches: &ArgMatches) -> Self {
-        let title_quoting_style = QuotingStyle::Shell {
-            escape: true,
-            always_quote: false,
-            show_control: false,
-        };
+impl Default for Settings<'_> {
+    fn default() -> Self {
+        // Defaults if none of -c, -m, -l, -w, nor -L are specified.
+        Self {
+            show_bytes: true,
+            show_chars: false,
+            show_lines: true,
+            show_words: true,
+            show_max_line_length: false,
+            files0_from: None,
+            total_when: TotalWhen::default(),
+        }
+    }
+}
 
-        let files0_from_stdin_mode = match matches.get_one::<String>(options::FILES0_FROM) {
-            Some(files_0_from) => files_0_from == STDIN_REPR,
-            None => false,
-        };
+impl<'a> Settings<'a> {
+    fn new(matches: &'a ArgMatches) -> Self {
+        let files0_from = matches
+            .get_one::<OsString>(options::FILES0_FROM)
+            .map(Into::into);
+
+        let total_when = matches
+            .get_one::<String>(options::TOTAL)
+            .map(Into::into)
+            .unwrap_or_default();
 
         let settings = Self {
             show_bytes: matches.get_flag(options::BYTES),
@@ -774,47 +972,39 @@
             show_lines: matches.get_flag(options::LINES),
             show_words: matches.get_flag(options::WORDS),
             show_max_line_length: matches.get_flag(options::MAX_LINE_LENGTH),
-            files0_from_stdin_mode,
-            title_quoting_style,
-            total_when: matches.get_one::<String>(options::TOTAL).unwrap().into(),
+            files0_from,
+            total_when,
         };
 
-        if settings.show_bytes
-            || settings.show_chars
-            || settings.show_lines
-            || settings.show_words
-            || settings.show_max_line_length
-        {
-            return settings;
-        }
-
-        Self {
-            show_bytes: true,
-            show_chars: false,
-            show_lines: true,
-            show_words: true,
-            show_max_line_length: false,
-            files0_from_stdin_mode,
-            title_quoting_style: settings.title_quoting_style,
-            total_when: settings.total_when,
+        if settings.number_enabled() > 0 {
+            settings
+        } else {
+            Self {
+                files0_from: settings.files0_from,
+                total_when,
+                ..Default::default()
+            }
         }
     }
 
     fn number_enabled(&self) -> u32 {
-        let mut result = 0;
-        result += self.show_bytes as u32;
-        result += self.show_chars as u32;
-        result += self.show_lines as u32;
-        result += self.show_max_line_length as u32;
-        result += self.show_words as u32;
-        result
+        [
+            self.show_bytes,
+            self.show_chars,
+            self.show_lines,
+            self.show_max_line_length,
+            self.show_words,
+        ]
+        .into_iter()
+        .map(Into::<u32>::into)
+        .sum()
     }
 }
 
 const ABOUT: &str = help_about!("wc.md");
 const USAGE: &str = help_usage!("wc.md");
 
-pub mod options {
+mod options {
     pub static BYTES: &str = "bytes";
     pub static CHAR: &str = "chars";
     pub static FILES0_FROM: &str = "files0-from";
@@ -823,68 +1013,202 @@
     pub static TOTAL: &str = "total";
     pub static WORDS: &str = "words";
 }
-
 static ARG_FILES: &str = "files";
 static STDIN_REPR: &str = "-";
 
-enum StdinKind {
-    /// Stdin specified on command-line with "-".
-    Explicit,
+static QS_ESCAPE: &QuotingStyle = &QuotingStyle::Shell {
+    escape: true,
+    always_quote: false,
+    show_control: false,
+};
+static QS_QUOTE_ESCAPE: &QuotingStyle = &QuotingStyle::Shell {
+    escape: true,
+    always_quote: true,
+    show_control: false,
+};
 
-    /// Stdin implicitly specified on command-line by not passing any positional argument.
+/// Supported inputs.
+#[derive(Debug)]
+enum Inputs<'a> {
+    /// Default Standard input, i.e. no arguments.
+    Stdin,
+    /// Files; "-" means stdin, possibly multiple times!
+    Paths(Vec<Input<'a>>),
+    /// --files0-from; "-" means stdin.
+    Files0From(Input<'a>),
+}
+
+impl<'a> Inputs<'a> {
+    fn new(matches: &'a ArgMatches) -> UResult<Self> {
+        let arg_files = matches.get_many::<OsString>(ARG_FILES);
+        let files0_from = matches.get_one::<OsString>(options::FILES0_FROM);
+
+        match (arg_files, files0_from) {
+            (None, None) => Ok(Self::Stdin),
+            (Some(files), None) => Ok(Self::Paths(files.map(Into::into).collect())),
+            (None, Some(path)) => {
+                // If path is a file, and the file isn't too large, we'll load it ahead
+                // of time. Every path within the file will have its length checked to
+                // hopefully better align the output columns.
+                let input = Input::from(path);
+                match input.try_as_files0()? {
+                    Some(paths) => Ok(Self::Paths(paths)),
+                    None => Ok(Self::Files0From(input)),
+                }
+            }
+            (Some(_), Some(_)) => Err(WcError::FilesDisabled.into()),
+        }
+    }
+
+    // Creates an iterator which yields values borrowed from the command line arguments.
+    // Returns an error if the file specified in --files0-from cannot be opened.
+    fn try_iter(
+        &'a self,
+        settings: &'a Settings<'a>,
+    ) -> UResult<impl Iterator<Item = InputIterItem<'a>>> {
+        let base: Box<dyn Iterator<Item = _>> = match self {
+            Self::Stdin => Box::new(iter::once(Ok(Input::Stdin(StdinKind::Implicit)))),
+            Self::Paths(inputs) => Box::new(inputs.iter().map(|i| Ok(i.as_borrowed()))),
+            Self::Files0From(input) => match input {
+                Input::Path(path) => Box::new(files0_iter_file(path)?),
+                Input::Stdin(_) => Box::new(files0_iter_stdin()),
+            },
+        };
+
+        // The 1-based index of each yielded item must be tracked for error reporting.
+        let mut with_idx = base.enumerate().map(|(i, v)| (i + 1, v));
+        let files0_from_path = settings.files0_from.as_ref().map(|p| p.as_borrowed());
+
+        let iter = iter::from_fn(move || {
+            let (idx, next) = with_idx.next()?;
+            match next {
+                // filter zero length file names...
+                Ok(Input::Path(p)) if p.as_os_str().is_empty() => Some(Err({
+                    let maybe_ctx = files0_from_path.as_ref().map(|p| (p, idx));
+                    WcError::zero_len(maybe_ctx).into()
+                })),
+                _ => Some(next),
+            }
+        });
+        Ok(iter)
+    }
+}
+
+#[derive(Clone, Copy, Debug)]
+enum StdinKind {
+    /// Specified on command-line with "-" (STDIN_REPR)
+    Explicit,
+    /// Implied by the lack of any arguments
     Implicit,
 }
 
-/// Supported inputs.
-enum Input {
-    /// A regular file.
-    Path(PathBuf),
-
-    /// Standard input.
-    Stdin(StdinKind),
+/// Represents a single input, either to be counted or processed for other files names via
+/// --files0-from.
+#[derive(Debug)]
+enum Input<'a> {
+    Path(Cow<'a, Path>),
+    Stdin(StdinKind),
 }
 
-impl From<&OsStr> for Input {
-    fn from(input: &OsStr) -> Self {
-        if input == STDIN_REPR {
+impl From<PathBuf> for Input<'_> {
+    fn from(p: PathBuf) -> Self {
+        if p.as_os_str() == STDIN_REPR {
             Self::Stdin(StdinKind::Explicit)
         } else {
-            Self::Path(input.into())
+            Self::Path(Cow::Owned(p))
         }
     }
 }
 
-impl Input {
-    /// Converts input to title that appears in stats.
-    fn to_title(&self, quoting_style: &QuotingStyle) -> Option<String> {
+impl<'a, T: AsRef<Path> + ?Sized> From<&'a T> for Input<'a> {
+    fn from(p: &'a T) -> Self {
+        let p = p.as_ref();
+        if p.as_os_str() == STDIN_REPR {
+            Self::Stdin(StdinKind::Explicit)
+        } else {
+            Self::Path(Cow::Borrowed(p))
+        }
+    }
+}
+
+impl<'a> Input<'a> {
+    /// Translates Path(Cow::Owned(_)) to Path(Cow::Borrowed(_)).
+    fn as_borrowed(&'a self) -> Self {
         match self {
-            Self::Path(path) => Some(escape_name(&path.clone().into_os_string(), quoting_style)),
-            Self::Stdin(StdinKind::Explicit) => {
-                Some(escape_name(OsStr::new(STDIN_REPR), quoting_style))
-            }
+            Self::Path(p) => Self::Path(Cow::Borrowed(p.borrow())),
+            Self::Stdin(k) => Self::Stdin(*k),
+        }
+    }
+
+    /// Converts input to title that appears in stats.
+    fn to_title(&self) -> Option<Cow<str>> {
+        match self {
+            Self::Path(path) => Some(match path.to_str() {
+                Some(s) if !s.contains('\n') => Cow::Borrowed(s),
+                _ => Cow::Owned(escape_name(path.as_os_str(), QS_ESCAPE)),
+            }),
+            Self::Stdin(StdinKind::Explicit) => Some(Cow::Borrowed(STDIN_REPR)),
             Self::Stdin(StdinKind::Implicit) => None,
         }
     }
 
-    fn path_display(&self, quoting_style: &QuotingStyle) -> String {
+    /// Converts input into the form that appears in errors.
+    fn path_display(&self) -> String {
         match self {
-            Self::Path(path) => escape_name(&path.clone().into_os_string(), quoting_style),
-            Self::Stdin(_) => escape_name(OsStr::new("standard input"), quoting_style),
+            Self::Path(path) => escape_name(path.as_os_str(), QS_ESCAPE),
+            Self::Stdin(_) => String::from("standard input"),
+        }
+    }
+
+    /// When given --files0-from, we may be given a path or stdin. Either may be a stream or
+    /// a regular file. If given a file less than 10 MiB, it will be consumed and turned into
+    /// a Vec of Input::Paths which can be scanned to determine the widths of the columns that
+    /// will ultimately be printed.
+    fn try_as_files0(&self) -> UResult<Option<Vec<Input<'static>>>> {
+        match self {
+            Self::Path(path) => match fs::metadata(path) {
+                Ok(meta) if meta.is_file() && meta.len() <= (10 << 20) => Ok(Some(
+                    files0_iter_file(path)?.collect::<Result<Vec<_>, _>>()?,
+                )),
+                _ => Ok(None),
+            },
+            Self::Stdin(_) if is_stdin_small_file() => {
+                Ok(Some(files0_iter_stdin().collect::<Result<Vec<_>, _>>()?))
+            }
+            Self::Stdin(_) => Ok(None),
         }
     }
 }
 
+#[cfg(unix)]
+fn is_stdin_small_file() -> bool {
+    use std::os::unix::io::{AsRawFd, FromRawFd};
+    // Safety: we'll rely on Rust to give us a valid RawFd for stdin with which we can attempt to
+    // open a File, but only for the sake of fetching .metadata().  ManuallyDrop will ensure we
+    // don't do anything else to the FD if anything unexpected happens.
+    let f = std::mem::ManuallyDrop::new(unsafe { File::from_raw_fd(io::stdin().as_raw_fd()) });
+    matches!(f.metadata(), Ok(meta) if meta.is_file() && meta.len() <= (10 << 20))
+}
+
+#[cfg(not(unix))]
+// Windows presents a piped stdin as a "normal file" with a length equal to however many bytes
+// have been buffered at the time it's checked. To be safe, we must never assume it's a file.
+fn is_stdin_small_file() -> bool {
+    false
+}
+
 /// When to show the "total" line
-#[derive(PartialEq)]
+#[derive(Clone, Copy, Default, PartialEq)]
 enum TotalWhen {
-    Auto,
+    #[default]
+    Auto,
     Always,
     Only,
     Never,
 }
 
-impl From<&String> for TotalWhen {
-    fn from(s: &String) -> Self {
+impl<T: AsRef<str>> From<T> for TotalWhen {
+    fn from(s: T) -> Self {
         match s.as_ref() {
             "auto" => Self::Auto,
             "always" => Self::Always,
@@ -905,33 +1229,36 @@
     }
 }
 
-#[derive(Debug)]
+#[derive(Debug, Error)]
 enum WcError {
-    FilesDisabled(String),
-    StdinReprNotAllowed(String),
+    #[error("file operands cannot be combined with --files0-from")]
+    FilesDisabled,
+    #[error("when reading file names from stdin, no file name of '-' allowed")]
+    StdinReprNotAllowed,
+    #[error("invalid zero-length file name")]
+    ZeroLengthFileName,
+    #[error("{path}:{idx}: invalid zero-length file name")]
+    ZeroLengthFileNameCtx { path: Cow<'static, str>, idx: usize },
+}
+
+impl WcError {
+    fn zero_len(ctx: Option<(&Input, usize)>) -> Self {
+        match ctx {
+            Some((input, idx)) => {
+                let path = match input {
+                    Input::Stdin(_) => STDIN_REPR.into(),
+                    Input::Path(path) => escape_name(path.as_os_str(), QS_ESCAPE).into(),
+                };
+                Self::ZeroLengthFileNameCtx { path, idx }
+            }
+            None => Self::ZeroLengthFileName,
+        }
+    }
 }
 
 impl UError for WcError {
-    fn code(&self) -> i32 {
-        match self {
-            Self::FilesDisabled(_) | Self::StdinReprNotAllowed(_) => 1,
-        }
-    }
-
     fn usage(&self) -> bool {
-        matches!(self, Self::FilesDisabled(_))
-    }
-}
-
-impl Error for WcError {}
-
-impl Display for WcError {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        match self {
-            Self::FilesDisabled(message) | Self::StdinReprNotAllowed(message) => {
-                write!(f, "{message}")
-            }
-        }
+        matches!(self, Self::FilesDisabled)
     }
 }
 
@@ -939,9 +1266,8 @@
 pub fn uumain(args: impl uucore::Args) -> UResult<()> {
     let matches = uu_app().try_get_matches_from(args)?;
 
-    let inputs = inputs(&matches)?;
-
     let settings = Settings::new(&matches);
+    let inputs = Inputs::new(&matches)?;
 
     wc(&inputs, &settings)
 }
@@ -970,11 +1296,12 @@
             Arg::new(options::FILES0_FROM)
                 .long(options::FILES0_FROM)
                 .value_name("F")
-                .help(
-                    "read input from the files specified by
-    NUL-terminated names in file F;
-    If F is - then read names from standard input",
-                )
+                .help(concat!(
+                    "read input from the files specified by\n",
+                    "  NUL-terminated names in file F;\n",
+                    "  If F is - then read names from standard input"
+                ))
+                .value_parser(ValueParser::os_string())
                 .value_hint(clap::ValueHint::FilePath),
         )
         .arg(
@@ -995,10 +1322,12 @@
             Arg::new(options::TOTAL)
                 .long(options::TOTAL)
                 .value_parser(["auto", "always", "only", "never"])
-                .default_value("auto")
-                .hide_default_value(true)
                 .value_name("WHEN")
-                .help("when to print a line with total counts"),
+                .hide_possible_values(true)
+                .help(concat!(
+                    "when to print a line with total counts;\n",
+                    "  WHEN can be: auto, always, only, never"
+                )),
         )
         .arg(
             Arg::new(options::WORDS)
@@ -1015,47 +1344,6 @@
         )
 }
 
-fn inputs(matches: &ArgMatches) -> UResult<Vec<Input>> {
-    match matches.get_many::<OsString>(ARG_FILES) {
-        Some(os_values) => {
-            if matches.contains_id(options::FILES0_FROM) {
-                return Err(WcError::FilesDisabled(
-                    "file operands cannot be combined with --files0-from".into(),
-                )
-                .into());
-            }
-
-            Ok(os_values.map(|s| Input::from(s.as_os_str())).collect())
-        }
-        None => match matches.get_one::<String>(options::FILES0_FROM) {
-            Some(files_0_from) => create_paths_from_files0(files_0_from),
-            None => Ok(vec![Input::Stdin(StdinKind::Implicit)]),
-        },
-    }
-}
-
-fn create_paths_from_files0(files_0_from: &str) -> UResult<Vec<Input>> {
-    let mut paths = String::new();
-    let read_from_stdin = files_0_from == STDIN_REPR;
-
-    if read_from_stdin {
-        io::stdin().lock().read_to_string(&mut paths)?;
-    } else {
-        File::open(files_0_from)?.read_to_string(&mut paths)?;
-    }
-
-    let paths: Vec<&str> = paths.split_terminator('\0').collect();
-
-    if read_from_stdin && paths.contains(&STDIN_REPR) {
-        return Err(WcError::StdinReprNotAllowed(
-            "when reading file names from stdin, no file name of '-' allowed".into(),
-        )
-        .into());
-    }
-
-    Ok(paths.iter().map(OsStr::new).map(Input::from).collect())
-}
-
 fn word_count_from_reader<T: WordCountable>(
     mut reader: T,
     settings: &Settings,
@@ -1237,184 +1525,252 @@
     Failure(io::Error),
 }
 
-/// If we fail opening a file we only show the error. If we fail reading it
-/// we show a count for what we managed to read.
+/// If we fail opening a file, we only show the error. If we fail reading the
+/// file, we show a count for what we managed to read.
 ///
-/// Therefore the reading implementations always return a total and sometimes
+/// Therefore, the reading implementations always return a total and sometimes
 /// return an error: (WordCount, Option<io::Error>).
-fn word_count_from_input(input: &Input, settings: &Settings) -> CountResult {
-    match input {
-        Input::Stdin(_) => {
-            let stdin = io::stdin();
-            let stdin_lock = stdin.lock();
-            let count = word_count_from_reader(stdin_lock, settings);
-            match count {
-                (total, Some(error)) => CountResult::Interrupted(total, error),
-                (total, None) => CountResult::Success(total),
-            }
-        }
+fn word_count_from_input(input: &Input<'_>, settings: &Settings) -> CountResult {
+    let (total, maybe_err) = match input {
+        Input::Stdin(_) => word_count_from_reader(io::stdin().lock(), settings),
         Input::Path(path) => match File::open(path) {
-            Err(error) => CountResult::Failure(error),
-            Ok(file) => match word_count_from_reader(file, settings) {
-                (total, Some(error)) => CountResult::Interrupted(total, error),
-                (total, None) => CountResult::Success(total),
-            },
+            Ok(f) => word_count_from_reader(f, settings),
+            Err(err) => return CountResult::Failure(err),
         },
+    };
+    match maybe_err {
+        None => CountResult::Success(total),
+        Some(err) => CountResult::Interrupted(total, err),
     }
 }
 
 /// Compute the number of digits needed to represent all counts in all inputs.
 ///
-/// `inputs` may include zero or more [`Input::Stdin`] entries, each of
-/// which represents reading from `stdin`. The presence of any such
-/// entry causes this function to return a width that is at least
-/// [`MINIMUM_WIDTH`].
+/// For [`Inputs::Stdin`], [`MINIMUM_WIDTH`] is returned, unless there is only one counter number
+/// to be printed, in which case 1 is returned.
 ///
-/// If `input` is empty, or if only one number needs to be printed (for just
-/// one file) then this function is optimized to return 1 without making any
-/// calls to get file metadata.
+/// For [`Inputs::Files0From`], [`MINIMUM_WIDTH`] is returned.
 ///
-/// If file metadata could not be read from any of the [`Input::Path`] input,
-/// that input does not affect number width computation
+/// An [`Inputs::Paths`] may include zero or more "-" entries, each of which represents reading
+/// from `stdin`. The presence of any such entry causes this function to return a width that is at
+/// least [`MINIMUM_WIDTH`].
 ///
-/// Otherwise, the file sizes in the file metadata are summed and the number of
-/// digits in that total size is returned as the number width
+/// If an [`Inputs::Paths`] contains only one path and only one number needs to be printed then
+/// this function is optimized to return 1 without making any calls to get file metadata.
 ///
-/// To mirror GNU wc's behavior a special case is added. If --files0-from is
-/// used and input is read from stdin and there is only one calculation enabled
-/// columns will not be aligned. This is not exactly GNU wc's behavior, but it
-/// is close enough to pass the GNU test suite.
-fn compute_number_width(inputs: &[Input], settings: &Settings) -> usize {
-    if inputs.is_empty()
-        || (inputs.len() == 1 && settings.number_enabled() == 1)
-        || (settings.files0_from_stdin_mode && settings.number_enabled() == 1)
-    {
-        return 1;
-    }
-
-    let mut minimum_width = 1;
-    let mut total = 0;
-
-    for input in inputs {
-        match input {
-            Input::Stdin(_) => {
-                minimum_width = MINIMUM_WIDTH;
+/// If file metadata could not be read from any of the [`Input::Path`] input, that input does not
+/// affect number width computation.  Otherwise, the file sizes from the files' metadata are summed
+/// and the number of digits in that total size is returned.
+fn compute_number_width(inputs: &Inputs, settings: &Settings) -> usize {
+    match inputs {
+        Inputs::Stdin if settings.number_enabled() == 1 => 1,
+        Inputs::Stdin => MINIMUM_WIDTH,
+        Inputs::Files0From(_) => 1,
+        Inputs::Paths(inputs) => {
+            if settings.number_enabled() == 1 && inputs.len() == 1 {
+                return 1;
             }
-            Input::Path(path) => {
-                if let Ok(meta) = fs::metadata(path) {
-                    if meta.is_file() {
-                        total += meta.len();
-                    } else {
-                        minimum_width = MINIMUM_WIDTH;
+
+            let mut minimum_width = 1;
+            let mut total: u64 = 0;
+            for input in inputs.iter() {
+                match input {
+                    Input::Stdin(_) => minimum_width = MINIMUM_WIDTH,
+                    Input::Path(path) => {
+                        if let Ok(meta) = fs::metadata(path) {
+                            if meta.is_file() {
+                                total += meta.len();
+                            } else {
+                                minimum_width = MINIMUM_WIDTH;
+                            }
+                        }
                     }
                 }
             }
+
+            if total == 0 {
+                minimum_width
+            } else {
+                let total_width = (1 + ilog10_u64(total))
+                    .try_into()
+                    .expect("ilog of a u64 should fit into a usize");
+                max(total_width, minimum_width)
+            }
         }
     }
-
-    max(minimum_width, total.to_string().len())
 }
 
-fn wc(inputs: &[Input], settings: &Settings) -> UResult<()> {
+type InputIterItem<'a> = Result<Input<'a>, Box<dyn UError>>;
+
+/// To be used with `--files0-from=-`, this applies a filter on the results of files0_iter to
+/// translate '-' into the appropriate error.
+fn files0_iter_stdin<'a>() -> impl Iterator<Item = InputIterItem<'a>> {
+    files0_iter(io::stdin().lock(), STDIN_REPR.into()).map(|i| match i {
+        Ok(Input::Stdin(_)) => Err(WcError::StdinReprNotAllowed.into()),
+        _ => i,
+    })
+}
+
+fn files0_iter_file<'a>(path: &Path) -> UResult<impl Iterator<Item = InputIterItem<'a>>> {
+    match File::open(path) {
+        Ok(f) => Ok(files0_iter(f, path.into())),
+        Err(e) => Err(e.map_err_context(|| {
+            format!(
+                "cannot open {} for reading",
+                escape_name(path.as_os_str(), QS_QUOTE_ESCAPE)
+            )
+        })),
+    }
+}
+
+fn files0_iter<'a>(
+    r: impl io::Read + 'static,
+    err_path: OsString,
+) -> impl Iterator<Item = InputIterItem<'a>> {
+    use std::io::BufRead;
+    let mut i = Some(
+        io::BufReader::new(r)
+            .split(b'\0')
+            .map(move |res| match res {
+                Ok(p) if p == STDIN_REPR.as_bytes() => Ok(Input::Stdin(StdinKind::Explicit)),
+                Ok(p) => {
+                    // On Unix systems, OsStrings are just strings of bytes, not necessarily UTF-8.
+                    #[cfg(unix)]
+                    {
+                        use std::os::unix::ffi::OsStringExt;
+                        Ok(Input::Path(PathBuf::from(OsString::from_vec(p)).into()))
+                    }
+
+                    // ...Windows does not, we must go through Strings.
+                    #[cfg(not(unix))]
+                    {
+                        let s = String::from_utf8(p)
+                            .map_err(|e| io::Error::new(io::ErrorKind::Other, e))?;
+                        Ok(Input::Path(PathBuf::from(s).into()))
+                    }
+                }
+                Err(e) => Err(e.map_err_context(|| {
+                    format!("{}: read error", escape_name(&err_path, QS_ESCAPE))
+                }) as Box<dyn UError>),
+            }),
+    );
+    // Loop until there is an error; yield that error and then nothing else.
+    std::iter::from_fn(move || {
+        let next = i.as_mut().and_then(Iterator::next);
+        if matches!(next, Some(Err(_)) | None) {
+            i = None;
+        }
+        next
+    })
+}
+
+fn wc(inputs: &Inputs, settings: &Settings) -> UResult<()> {
     let mut total_word_count = WordCount::default();
+    let mut num_inputs: usize = 0;
 
-    let (number_width, are_stats_visible, total_row_title) =
-        if settings.total_when == TotalWhen::Only {
-            (1, false, None)
-        } else {
-            let number_width = compute_number_width(inputs, settings);
-            let title = Some(String::from("total"));
+    let (number_width, are_stats_visible) = match settings.total_when {
+        TotalWhen::Only => (1, false),
+        _ => (compute_number_width(inputs, settings), true),
+    };
 
-            (number_width, true, title)
+    for maybe_input in inputs.try_iter(settings)? {
+        num_inputs += 1;
+
+        let input = match maybe_input {
+            Ok(input) => input,
+            Err(err) => {
+                show!(err);
+                continue;
+            }
         };
 
-    let is_total_row_visible = settings.total_when.is_total_row_visible(inputs.len());
-
-    for input in inputs {
-        let word_count = match word_count_from_input(input, settings) {
+        let word_count = match word_count_from_input(&input, settings) {
             CountResult::Success(word_count) => word_count,
-            CountResult::Interrupted(word_count, error) => {
-                show!(USimpleError::new(
-                    1,
-                    format!(
-                        "{}: {}",
-                        input.path_display(&settings.title_quoting_style),
-                        error
-                    )
-                ));
+            CountResult::Interrupted(word_count, err) => {
+                show!(err.map_err_context(|| input.path_display()));
                 word_count
             }
-            CountResult::Failure(error) => {
-                show!(USimpleError::new(
-                    1,
-                    format!(
-                        "{}: {}",
-                        input.path_display(&settings.title_quoting_style),
-                        error
-                    )
-                ));
+            CountResult::Failure(err) => {
+                show!(err.map_err_context(|| input.path_display()));
                 continue;
             }
         };
         total_word_count += word_count;
-        let result = word_count.with_title(input.to_title(&settings.title_quoting_style));
-
         if are_stats_visible {
-            if let Err(err) = print_stats(settings, &result, number_width) {
-                show!(USimpleError::new(
-                    1,
-                    format!(
-                        "failed to print result for {}: {}",
-                        &result.title.unwrap_or_else(|| String::from("<stdin>")),
-                        err,
-                    ),
-                ));
+            let maybe_title = input.to_title();
+            let maybe_title_str = maybe_title.as_deref();
+            if let Err(err) = print_stats(settings, &word_count, maybe_title_str, number_width) {
+                let title = maybe_title_str.unwrap_or("<stdin>");
+                show!(err.map_err_context(|| format!("failed to print result for {title}")));
             }
         }
     }
 
-    if is_total_row_visible {
-        let total_result = total_word_count.with_title(total_row_title);
-        if let Err(err) = print_stats(settings, &total_result, number_width) {
-            show!(USimpleError::new(
-                1,
-                format!("failed to print total: {err}")
-            ));
+    if settings.total_when.is_total_row_visible(num_inputs) {
+        let title = are_stats_visible.then_some("total");
+        if let Err(err) = print_stats(settings, &total_word_count, title, number_width) {
+            show!(err.map_err_context(|| "failed to print total".into()));
         }
     }
 
-    // Although this appears to be returning `Ok`, the exit code may
-    // have been set to a non-zero value by a call to `show!()` above.
+    // Although this appears to be returning `Ok`, the exit code may have been set to a non-zero
+    // value by a call to `record_error!()` above.
     Ok(())
 }
 
 fn print_stats(
     settings: &Settings,
-    result: &TitledWordCount,
+    result: &WordCount,
+    title: Option<&str>,
     number_width: usize,
 ) -> io::Result<()> {
-    let mut columns = Vec::new();
+    let mut stdout = io::stdout().lock();
 
-    if settings.show_lines {
-        columns.push(format!("{:1$}", result.count.lines, number_width));
-    }
-    if settings.show_words {
-        columns.push(format!("{:1$}", result.count.words, number_width));
-    }
-    if settings.show_chars {
-        columns.push(format!("{:1$}", result.count.chars, number_width));
-    }
-    if settings.show_bytes {
-        columns.push(format!("{:1$}", result.count.bytes, number_width));
-    }
-    if settings.show_max_line_length {
-        columns.push(format!("{:1$}", result.count.max_line_length, number_width));
-    }
-    if let Some(title) = &result.title {
-        columns.push(title.clone());
+    let maybe_cols = [
+        (settings.show_lines, result.lines),
+        (settings.show_words, result.words),
+        (settings.show_chars, result.chars),
+        (settings.show_bytes, result.bytes),
+        (settings.show_max_line_length, result.max_line_length),
+    ];
+
+    let mut space = "";
+    for (_, num) in maybe_cols.iter().filter(|(show, _)| *show) {
+        write!(stdout, "{space}{num:number_width$}")?;
+        space = " ";
     }
 
-    writeln!(io::stdout().lock(), "{}", columns.join(" "))
+    if let Some(title) = title {
+        writeln!(stdout, "{space}{title}")
+    } else {
+        writeln!(stdout)
+    }
+}
+
+// TODO: remove and just use usize::ilog10 once the MSRV is >= 1.67.
+fn ilog10_u64(mut u: u64) -> u32 {
+    if u == 0 {
+        panic!("cannot compute log of 0")
+    }
+    let mut log = 0;
+    if u >= 10_000_000_000 {
+        log += 10;
+        u /= 10_000_000_000;
+    }
+    if u >= 100_000 {
+        log += 5;
+        u /= 100_000;
+    }
+    // Rust's standard library in versions >= 1.67 does something even more clever than this, but
+    // this should work just fine for the time being.
+    log + match u {
+        1..=9 => 0,
+        10..=99 => 1,
+        100..=999 => 2,
+        1000..=9999 => 3,
+        10000..=99999 => 4,
+        _ => unreachable!(),
+    }
 }
 
\ No newline at end of file diff --git a/dev/src/uu_wc/word_count.rs.html b/dev/src/uu_wc/word_count.rs.html index ed9138be9..4225f02e4 100644 --- a/dev/src/uu_wc/word_count.rs.html +++ b/dev/src/uu_wc/word_count.rs.html @@ -29,22 +29,6 @@ 29 30 31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47
use std::cmp::max;
 use std::ops::{Add, AddAssign};
 
@@ -76,21 +60,5 @@
         *self = *self + other;
     }
 }
-
-impl WordCount {
-    pub fn with_title(self, title: Option<String>) -> TitledWordCount {
-        TitledWordCount { title, count: self }
-    }
-}
-
-/// This struct supplements the actual word count with an optional title that is
-/// displayed to the user at the end of the program.
-/// The reason we don't simply include title in the `WordCount` struct is that
-/// it would result in unnecessary copying of `String`.
-#[derive(Debug, Default, Clone)]
-pub struct TitledWordCount {
-    pub title: Option<String>,
-    pub count: WordCount,
-}
 
\ No newline at end of file diff --git a/dev/uu_chgrp/entries/struct.Passwd.html b/dev/uu_chgrp/entries/struct.Passwd.html index 388b8dff8..5de971764 100644 --- a/dev/uu_chgrp/entries/struct.Passwd.html +++ b/dev/uu_chgrp/entries/struct.Passwd.html @@ -27,7 +27,7 @@ call getgrouplist().

not update ngroups if ngroups is too small. Therefore, if not updated by getgrouplist, ngroups needs to be increased in a loop until getgrouplist stops returning -1.

-

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uu_chown/entries/struct.Passwd.html b/dev/uu_chown/entries/struct.Passwd.html index a2ca4c443..d62cf5a80 100644 --- a/dev/uu_chown/entries/struct.Passwd.html +++ b/dev/uu_chown/entries/struct.Passwd.html @@ -27,7 +27,7 @@ call getgrouplist().

not update ngroups if ngroups is too small. Therefore, if not updated by getgrouplist, ngroups needs to be increased in a loop until getgrouplist stops returning -1.

-

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uu_chown/struct.Passwd.html b/dev/uu_chown/struct.Passwd.html index 7ab349426..a80798853 100644 --- a/dev/uu_chown/struct.Passwd.html +++ b/dev/uu_chown/struct.Passwd.html @@ -27,7 +27,7 @@ call getgrouplist().

not update ngroups if ngroups is too small. Therefore, if not updated by getgrouplist, ngroups needs to be increased in a loop until getgrouplist stops returning -1.

-

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

§

impl Clone for Passwd

§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Passwd

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Locate<&'a str> for Passwd

§

fn locate(k: &'a str) -> Result<Passwd, Error>

§

impl Locate<u32> for Passwd

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uu_cp/enum.Error.html b/dev/uu_cp/enum.Error.html index a55695eae..1310f520f 100644 --- a/dev/uu_cp/enum.Error.html +++ b/dev/uu_cp/enum.Error.html @@ -24,7 +24,7 @@ Currently happens when “no” is selected in interactive mode

path, but those that are not implemented yet should return a NotImplemented error.

§

Backup(String)

Invalid arguments to backup

-
§

NotADirectory(PathBuf)

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<&'static str> for Error

source§

fn from(err: &'static str) -> Error

Converts to this type from the input type.
source§

impl<'a> From<Context<&'a str, Error>> for Error

source§

fn from($crate::Context: Context<&'a str, Error>) -> Error

Converts to this type from the input type.
source§

impl<'a> From<Context<String, Error>> for Error

source§

fn from($crate::Context: Context<String, Error>) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Error

Converts to this type from the input type.
source§

impl From<String> for Error

source§

fn from(err: String) -> Error

Converts to this type from the input type.
source§

impl From<StripPrefixError> for Error

source§

fn from(err: StripPrefixError) -> Error

Converts to this type from the input type.
source§

impl UError for Error

source§

fn code(&self) -> i32

Error code of a custom error. Read more
§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

NotADirectory(PathBuf)

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<&'static str> for Error

source§

fn from(err: &'static str) -> Error

Converts to this type from the input type.
source§

impl<'a> From<Context<&'a str, Error>> for Error

source§

fn from($crate::Context: Context<&'a str, Error>) -> Error

Converts to this type from the input type.
source§

impl<'a> From<Context<String, Error>> for Error

source§

fn from($crate::Context: Context<String, Error>) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Error

Converts to this type from the input type.
source§

impl From<String> for Error

source§

fn from(err: String) -> Error

Converts to this type from the input type.
source§

impl From<StripPrefixError> for Error

source§

fn from(err: StripPrefixError) -> Error

Converts to this type from the input type.
source§

impl UError for Error

source§

fn code(&self) -> i32

Error code of a custom error. Read more
§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uu_date/fn.uu_app.html b/dev/uu_date/fn.uu_app.html index 93c5b2ae7..db80664e4 100644 --- a/dev/uu_date/fn.uu_app.html +++ b/dev/uu_date/fn.uu_app.html @@ -1 +1 @@ -uu_app in uu_date - Rust

Function uu_date::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file +uu_app in uu_date - Rust

Function uu_date::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file diff --git a/dev/uu_date/index.html b/dev/uu_date/index.html index c9ef4eb54..a9d466058 100644 --- a/dev/uu_date/index.html +++ b/dev/uu_date/index.html @@ -1 +1 @@ -uu_date - Rust
\ No newline at end of file +uu_date - Rust
\ No newline at end of file diff --git a/dev/uu_factor/struct.Factors.html b/dev/uu_factor/struct.Factors.html index 4241d1627..cb480e256 100644 --- a/dev/uu_factor/struct.Factors.html +++ b/dev/uu_factor/struct.Factors.html @@ -1,4 +1,4 @@ -Factors in uu_factor - Rust

Struct uu_factor::Factors

source ·
pub struct Factors(_);

Implementations§

source§

impl Factors

source

pub fn one() -> Self

source

pub fn add(&mut self, prime: u64, exp: u8)

source

pub fn push(&mut self, prime: u64)

Trait Implementations§

source§

impl Clone for Factors

source§

fn clone(&self) -> Factors

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Factors

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Factors

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<Factors> for Factors

source§

fn eq(&self, other: &Factors) -> bool

This method tests for self and other values to be equal, and is used +Factors in uu_factor - Rust

Struct uu_factor::Factors

source ·
pub struct Factors(_);

Implementations§

source§

impl Factors

source

pub fn one() -> Self

source

pub fn add(&mut self, prime: u64, exp: u8)

source

pub fn push(&mut self, prime: u64)

Trait Implementations§

source§

impl Clone for Factors

source§

fn clone(&self) -> Factors

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Factors

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Factors

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<Factors> for Factors

source§

fn eq(&self, other: &Factors) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Factors

source§

impl StructuralEq for Factors

source§

impl StructuralPartialEq for Factors

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere diff --git a/dev/uu_hashsum/fn.uu_app_b3sum.html b/dev/uu_hashsum/fn.uu_app_b3sum.html index 2fe2df49a..8512d714e 100644 --- a/dev/uu_hashsum/fn.uu_app_b3sum.html +++ b/dev/uu_hashsum/fn.uu_app_b3sum.html @@ -1 +1 @@ -uu_app_b3sum in uu_hashsum - Rust

Function uu_hashsum::uu_app_b3sum

source ·
pub fn uu_app_b3sum() -> Command
\ No newline at end of file +uu_app_b3sum in uu_hashsum - Rust

Function uu_hashsum::uu_app_b3sum

source ·
pub fn uu_app_b3sum() -> Command
\ No newline at end of file diff --git a/dev/uu_hashsum/fn.uu_app_bits.html b/dev/uu_hashsum/fn.uu_app_bits.html index 51d68847e..131539a6f 100644 --- a/dev/uu_hashsum/fn.uu_app_bits.html +++ b/dev/uu_hashsum/fn.uu_app_bits.html @@ -1 +1 @@ -uu_app_bits in uu_hashsum - Rust

Function uu_hashsum::uu_app_bits

source ·
pub fn uu_app_bits() -> Command
\ No newline at end of file +uu_app_bits in uu_hashsum - Rust

Function uu_hashsum::uu_app_bits

source ·
pub fn uu_app_bits() -> Command
\ No newline at end of file diff --git a/dev/uu_hashsum/fn.uu_app_common.html b/dev/uu_hashsum/fn.uu_app_common.html index 1ac7442fb..2f5edab98 100644 --- a/dev/uu_hashsum/fn.uu_app_common.html +++ b/dev/uu_hashsum/fn.uu_app_common.html @@ -1 +1 @@ -uu_app_common in uu_hashsum - Rust

Function uu_hashsum::uu_app_common

source ·
pub fn uu_app_common() -> Command
\ No newline at end of file +uu_app_common in uu_hashsum - Rust

Function uu_hashsum::uu_app_common

source ·
pub fn uu_app_common() -> Command
\ No newline at end of file diff --git a/dev/uu_hashsum/fn.uu_app_custom.html b/dev/uu_hashsum/fn.uu_app_custom.html index 099ac058d..e249337f4 100644 --- a/dev/uu_hashsum/fn.uu_app_custom.html +++ b/dev/uu_hashsum/fn.uu_app_custom.html @@ -1 +1 @@ -uu_app_custom in uu_hashsum - Rust

Function uu_hashsum::uu_app_custom

source ·
pub fn uu_app_custom() -> Command
\ No newline at end of file +uu_app_custom in uu_hashsum - Rust

Function uu_hashsum::uu_app_custom

source ·
pub fn uu_app_custom() -> Command
\ No newline at end of file diff --git a/dev/uu_hashsum/fn.uu_app_length.html b/dev/uu_hashsum/fn.uu_app_length.html index fa6e8feb2..e6e418c64 100644 --- a/dev/uu_hashsum/fn.uu_app_length.html +++ b/dev/uu_hashsum/fn.uu_app_length.html @@ -1 +1 @@ -uu_app_length in uu_hashsum - Rust

Function uu_hashsum::uu_app_length

source ·
pub fn uu_app_length() -> Command
\ No newline at end of file +uu_app_length in uu_hashsum - Rust

Function uu_hashsum::uu_app_length

source ·
pub fn uu_app_length() -> Command
\ No newline at end of file diff --git a/dev/uu_hashsum/fn.uumain.html b/dev/uu_hashsum/fn.uumain.html index da984afcd..29b929beb 100644 --- a/dev/uu_hashsum/fn.uumain.html +++ b/dev/uu_hashsum/fn.uumain.html @@ -1 +1 @@ -uumain in uu_hashsum - Rust

Function uu_hashsum::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file +uumain in uu_hashsum - Rust

Function uu_hashsum::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file diff --git a/dev/uu_hashsum/index.html b/dev/uu_hashsum/index.html index 5f9128861..aba08ed39 100644 --- a/dev/uu_hashsum/index.html +++ b/dev/uu_hashsum/index.html @@ -1 +1 @@ -uu_hashsum - Rust
\ No newline at end of file +uu_hashsum - Rust
\ No newline at end of file diff --git a/dev/uu_more/fn.uu_app.html b/dev/uu_more/fn.uu_app.html index 63301137b..c6745a613 100644 --- a/dev/uu_more/fn.uu_app.html +++ b/dev/uu_more/fn.uu_app.html @@ -1 +1 @@ -uu_app in uu_more - Rust

Function uu_more::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file +uu_app in uu_more - Rust

Function uu_more::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file diff --git a/dev/uu_more/fn.uumain.html b/dev/uu_more/fn.uumain.html index 6e52637ef..bd125cf4f 100644 --- a/dev/uu_more/fn.uumain.html +++ b/dev/uu_more/fn.uumain.html @@ -1 +1 @@ -uumain in uu_more - Rust

Function uu_more::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file +uumain in uu_more - Rust

Function uu_more::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file diff --git a/dev/uu_more/index.html b/dev/uu_more/index.html index 53287274c..1dd1ea9a6 100644 --- a/dev/uu_more/index.html +++ b/dev/uu_more/index.html @@ -1 +1 @@ -uu_more - Rust
\ No newline at end of file +uu_more - Rust
\ No newline at end of file diff --git a/dev/uu_wc/all.html b/dev/uu_wc/all.html index b7505acd0..db7642167 100644 --- a/dev/uu_wc/all.html +++ b/dev/uu_wc/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate

List of all items

Functions

\ No newline at end of file diff --git a/dev/uu_wc/fn.uu_app.html b/dev/uu_wc/fn.uu_app.html index 486b42528..e77c70939 100644 --- a/dev/uu_wc/fn.uu_app.html +++ b/dev/uu_wc/fn.uu_app.html @@ -1 +1 @@ -uu_app in uu_wc - Rust

Function uu_wc::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file +uu_app in uu_wc - Rust

Function uu_wc::uu_app

source ·
pub fn uu_app() -> Command
\ No newline at end of file diff --git a/dev/uu_wc/fn.uumain.html b/dev/uu_wc/fn.uumain.html index 5cd13d127..ab6258e52 100644 --- a/dev/uu_wc/fn.uumain.html +++ b/dev/uu_wc/fn.uumain.html @@ -1 +1 @@ -uumain in uu_wc - Rust

Function uu_wc::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file +uumain in uu_wc - Rust

Function uu_wc::uumain

source ·
pub fn uumain(args: impl Args) -> i32
\ No newline at end of file diff --git a/dev/uu_wc/index.html b/dev/uu_wc/index.html index 7bd0215b2..a4821d9ba 100644 --- a/dev/uu_wc/index.html +++ b/dev/uu_wc/index.html @@ -1 +1 @@ -uu_wc - Rust
\ No newline at end of file +uu_wc - Rust
\ No newline at end of file diff --git a/dev/uu_wc/options/index.html b/dev/uu_wc/options/index.html deleted file mode 100644 index f8e5add32..000000000 --- a/dev/uu_wc/options/index.html +++ /dev/null @@ -1 +0,0 @@ -uu_wc::options - Rust
\ No newline at end of file diff --git a/dev/uu_wc/options/sidebar-items.js b/dev/uu_wc/options/sidebar-items.js deleted file mode 100644 index 6d9c4ecd8..000000000 --- a/dev/uu_wc/options/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"static":["BYTES","CHAR","FILES0_FROM","LINES","MAX_LINE_LENGTH","TOTAL","WORDS"]}; \ No newline at end of file diff --git a/dev/uu_wc/options/static.BYTES.html b/dev/uu_wc/options/static.BYTES.html deleted file mode 100644 index dfa50e2ca..000000000 --- a/dev/uu_wc/options/static.BYTES.html +++ /dev/null @@ -1 +0,0 @@ -BYTES in uu_wc::options - Rust

Static uu_wc::options::BYTES

source ·
pub static BYTES: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.CHAR.html b/dev/uu_wc/options/static.CHAR.html deleted file mode 100644 index 718857573..000000000 --- a/dev/uu_wc/options/static.CHAR.html +++ /dev/null @@ -1 +0,0 @@ -CHAR in uu_wc::options - Rust

Static uu_wc::options::CHAR

source ·
pub static CHAR: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.FILES0_FROM.html b/dev/uu_wc/options/static.FILES0_FROM.html deleted file mode 100644 index ff71e945c..000000000 --- a/dev/uu_wc/options/static.FILES0_FROM.html +++ /dev/null @@ -1 +0,0 @@ -FILES0_FROM in uu_wc::options - Rust

Static uu_wc::options::FILES0_FROM

source ·
pub static FILES0_FROM: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.LINES.html b/dev/uu_wc/options/static.LINES.html deleted file mode 100644 index aa08b5541..000000000 --- a/dev/uu_wc/options/static.LINES.html +++ /dev/null @@ -1 +0,0 @@ -LINES in uu_wc::options - Rust

Static uu_wc::options::LINES

source ·
pub static LINES: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.MAX_LINE_LENGTH.html b/dev/uu_wc/options/static.MAX_LINE_LENGTH.html deleted file mode 100644 index de8b85746..000000000 --- a/dev/uu_wc/options/static.MAX_LINE_LENGTH.html +++ /dev/null @@ -1 +0,0 @@ -MAX_LINE_LENGTH in uu_wc::options - Rust
pub static MAX_LINE_LENGTH: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.TOTAL.html b/dev/uu_wc/options/static.TOTAL.html deleted file mode 100644 index 056ddafff..000000000 --- a/dev/uu_wc/options/static.TOTAL.html +++ /dev/null @@ -1 +0,0 @@ -TOTAL in uu_wc::options - Rust

Static uu_wc::options::TOTAL

source ·
pub static TOTAL: &str
\ No newline at end of file diff --git a/dev/uu_wc/options/static.WORDS.html b/dev/uu_wc/options/static.WORDS.html deleted file mode 100644 index a97d2635d..000000000 --- a/dev/uu_wc/options/static.WORDS.html +++ /dev/null @@ -1 +0,0 @@ -WORDS in uu_wc::options - Rust

Static uu_wc::options::WORDS

source ·
pub static WORDS: &str
\ No newline at end of file diff --git a/dev/uu_wc/sidebar-items.js b/dev/uu_wc/sidebar-items.js index 9477fb2ee..b75e204de 100644 --- a/dev/uu_wc/sidebar-items.js +++ b/dev/uu_wc/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["uu_app","uumain"],"mod":["options"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["uu_app","uumain"]}; \ No newline at end of file diff --git a/dev/uucore/encoding/enum.DecodeError.html b/dev/uucore/encoding/enum.DecodeError.html index 9e7f689a2..46bf3e502 100644 --- a/dev/uucore/encoding/enum.DecodeError.html +++ b/dev/uucore/encoding/enum.DecodeError.html @@ -2,7 +2,7 @@ Decode(DecodeError), DecodeZ85(DecodeError), Io(Error), -}

Variants§

§

Decode(DecodeError)

§

DecodeZ85(DecodeError)

§

Io(Error)

Trait Implementations§

source§

impl Debug for DecodeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for DecodeError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for DecodeError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<DecodeError> for DecodeError

source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<DecodeError> for DecodeError

source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for DecodeError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Variants§

§

Decode(DecodeError)

§

DecodeZ85(DecodeError)

§

Io(Error)

Trait Implementations§

source§

impl Debug for DecodeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for DecodeError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for DecodeError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<DecodeError> for DecodeError

source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<DecodeError> for DecodeError

source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for DecodeError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uucore/entries/struct.Passwd.html b/dev/uucore/entries/struct.Passwd.html index 4ca3428c8..c30575b1f 100644 --- a/dev/uucore/entries/struct.Passwd.html +++ b/dev/uucore/entries/struct.Passwd.html @@ -27,7 +27,7 @@ call getgrouplist().

not update ngroups if ngroups is too small. Therefore, if not updated by getgrouplist, ngroups needs to be increased in a loop until getgrouplist stops returning -1.

-

Trait Implementations§

source§

impl Clone for Passwd

source§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Passwd

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Locate<&'a str> for Passwd

source§

fn locate(k: &'a str) -> IOResult<Self>

source§

impl Locate<u32> for Passwd

source§

fn locate(k: uid_t) -> IOResult<Self>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for Passwd

source§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Passwd

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Locate<&'a str> for Passwd

source§

fn locate(k: &'a str) -> IOResult<Self>

source§

impl Locate<u32> for Passwd

source§

fn locate(k: uid_t) -> IOResult<Self>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uucore/error/struct.ClapErrorWrapper.html b/dev/uucore/error/struct.ClapErrorWrapper.html index d90e3bd1d..2b90c4975 100644 --- a/dev/uucore/error/struct.ClapErrorWrapper.html +++ b/dev/uucore/error/struct.ClapErrorWrapper.html @@ -13,7 +13,7 @@ a let command = clap::Command::new("test"); let result: Result<_, Box<dyn UError>> = command.try_get_matches().map_err(Into::into);
-

Trait Implementations§

source§

impl Debug for ClapErrorWrapper

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ClapErrorWrapper

source§

fn fmt(&self, _f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for ClapErrorWrapper

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl UClapError<ClapErrorWrapper> for Error

source§

impl UError for ClapErrorWrapper

source§

fn code(&self) -> i32

Error code of a custom error. Read more
source§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for ClapErrorWrapper

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ClapErrorWrapper

source§

fn fmt(&self, _f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for ClapErrorWrapper

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl UClapError<ClapErrorWrapper> for Error

source§

impl UError for ClapErrorWrapper

source§

fn code(&self) -> i32

Error code of a custom error. Read more
source§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uucore/error/struct.USimpleError.html b/dev/uucore/error/struct.USimpleError.html index 92ca6a6ad..de5e27a15 100644 --- a/dev/uucore/error/struct.USimpleError.html +++ b/dev/uucore/error/struct.USimpleError.html @@ -8,7 +8,7 @@ let res: UResult<()> = Err(err.into()); // or using the `new` method: let res: UResult<()> = Err(USimpleError::new(1, "error!"));
-

Fields§

§code: i32§message: String

Implementations§

source§

impl USimpleError

source

pub fn new<S: Into<String>>(code: i32, message: S) -> Box<dyn UError>

Trait Implementations§

source§

impl Debug for USimpleError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for USimpleError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for USimpleError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl UError for USimpleError

source§

fn code(&self) -> i32

Error code of a custom error. Read more
source§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Fields§

§code: i32§message: String

Implementations§

source§

impl USimpleError

source

pub fn new<S: Into<String>>(code: i32, message: S) -> Box<dyn UError>

Trait Implementations§

source§

impl Debug for USimpleError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for USimpleError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for USimpleError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl UError for USimpleError

source§

fn code(&self) -> i32

Error code of a custom error. Read more
source§

fn usage(&self) -> bool

Print usage help to a custom error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/dev/uucore/error/trait.FromIo.html b/dev/uucore/error/trait.FromIo.html index a802fc126..52c04821c 100644 --- a/dev/uucore/error/trait.FromIo.html +++ b/dev/uucore/error/trait.FromIo.html @@ -3,7 +3,7 @@ fn map_err_context(self, context: impl FnOnce() -> String) -> T; }
Expand description

Enables the conversion from std::io::Error to UError and from std::io::Result to UResult.

-

Required Methods§

source

fn map_err_context(self, context: impl FnOnce() -> String) -> T

Implementations on Foreign Types§

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for Result<T>

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> UResult<T>

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for Result<T, Error>

Enables the conversion from Result<T, nix::Error> to UResult<T>.

+

Required Methods§

source

fn map_err_context(self, context: impl FnOnce() -> String) -> T

Implementations on Foreign Types§

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for Result<T, Error>

Enables the conversion from Result<T, nix::Error> to UResult<T>.

Examples

use uucore::error::FromIo;
 use nix::errno::Errno;
@@ -13,4 +13,4 @@
 
 // prints "fix me please!: Permission denied"
 println!("{}", uio_result.unwrap_err());
-
source§

fn map_err_context(self, context: impl FnOnce() -> String) -> UResult<T>

source§

impl FromIo<Box<UIoError, Global>> for Error

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> Box<UIoError>

source§

impl FromIo<Box<UIoError, Global>> for ErrorKind

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> Box<UIoError>

Implementors§

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for uucore::pipes::Error

\ No newline at end of file +
source§

fn map_err_context(self, context: impl FnOnce() -> String) -> UResult<T>

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for Result<T>

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> UResult<T>

source§

impl FromIo<Box<UIoError, Global>> for ErrorKind

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> Box<UIoError>

source§

impl FromIo<Box<UIoError, Global>> for Error

source§

fn map_err_context(self, context: impl FnOnce() -> String) -> Box<UIoError>

Implementors§

source§

impl<T> FromIo<Result<T, Box<dyn UError + 'static, Global>>> for uucore::pipes::Error

\ No newline at end of file diff --git a/dev/uucore/error/trait.UClapError.html b/dev/uucore/error/trait.UClapError.html index 70c9476ea..63eaefbdd 100644 --- a/dev/uucore/error/trait.UClapError.html +++ b/dev/uucore/error/trait.UClapError.html @@ -2,4 +2,4 @@ // Required method fn with_exit_code(self, code: i32) -> T; }
Expand description

Extension trait for clap::Error to adjust the exit code.

-

Required Methods§

source

fn with_exit_code(self, code: i32) -> T

Implementations on Foreign Types§

source§

impl UClapError<Result<ArgMatches, ClapErrorWrapper>> for Result<ArgMatches, Error>

source§

fn with_exit_code(self, code: i32) -> Result<ArgMatches, ClapErrorWrapper>

source§

impl UClapError<ClapErrorWrapper> for Error

Implementors§

\ No newline at end of file +

Required Methods§

source

fn with_exit_code(self, code: i32) -> T

Implementations on Foreign Types§

source§

impl UClapError<ClapErrorWrapper> for Error

source§

impl UClapError<Result<ArgMatches, ClapErrorWrapper>> for Result<ArgMatches, Error>

source§

fn with_exit_code(self, code: i32) -> Result<ArgMatches, ClapErrorWrapper>

Implementors§

\ No newline at end of file diff --git a/dev/uucore/error/trait.UError.html b/dev/uucore/error/trait.UError.html index 8540325f1..22d0fcd5f 100644 --- a/dev/uucore/error/trait.UError.html +++ b/dev/uucore/error/trait.UError.html @@ -143,5 +143,5 @@ below the error message. The usage help is in the format: “Try {name} -- } } } -

Trait Implementations§

source§

impl From<Errno> for Box<dyn UError>

source§

fn from(f: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error<RichFormatter>> for Box<dyn UError>

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn UError>

source§

fn from(f: Error) -> Self

Converts to this type from the input type.
source§

impl<T> From<T> for Box<dyn UError>where - T: UError + 'static,

source§

fn from(t: T) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Box<dyn UError>

source§

fn from(i: i32) -> Self

Converts to this type from the input type.

Implementors§

source§

impl UError for BackupError

source§

impl UError for ClapErrorWrapper

source§

impl UError for ExitCode

source§

impl UError for UIoError

source§

impl UError for USimpleError

source§

impl UError for UUsageError

\ No newline at end of file +

Trait Implementations§

source§

impl From<Errno> for Box<dyn UError>

source§

fn from(f: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error<RichFormatter>> for Box<dyn UError>

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn UError>

source§

fn from(f: Error) -> Self

Converts to this type from the input type.
source§

impl<T> From<T> for Box<dyn UError>where + T: UError + 'static,

source§

fn from(t: T) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Box<dyn UError>

source§

fn from(i: i32) -> Self

Converts to this type from the input type.

Implementors§

source§

impl UError for BackupError

source§

impl UError for ClapErrorWrapper

source§

impl UError for ExitCode

source§

impl UError for UIoError

source§

impl UError for USimpleError

source§

impl UError for UUsageError

\ No newline at end of file diff --git a/dev/uucore/parse_size/enum.ParseSizeError.html b/dev/uucore/parse_size/enum.ParseSizeError.html index 43fa15236..a5c363314 100644 --- a/dev/uucore/parse_size/enum.ParseSizeError.html +++ b/dev/uucore/parse_size/enum.ParseSizeError.html @@ -2,7 +2,7 @@ InvalidSuffix(String), ParseFailure(String), SizeTooBig(String), -}

Variants§

§

InvalidSuffix(String)

§

ParseFailure(String)

§

SizeTooBig(String)

Trait Implementations§

source§

impl Debug for ParseSizeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ParseSizeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for ParseSizeError

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl PartialEq<ParseSizeError> for ParseSizeError

source§

fn eq(&self, other: &ParseSizeError) -> bool

This method tests for self and other values to be equal, and is used +}

Variants§

§

InvalidSuffix(String)

§

ParseFailure(String)

§

SizeTooBig(String)

Trait Implementations§

source§

impl Debug for ParseSizeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ParseSizeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Error for ParseSizeError

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, demand: &mut Demand<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl PartialEq<ParseSizeError> for ParseSizeError

source§

fn eq(&self, other: &ParseSizeError) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ParseSizeError

source§

impl StructuralEq for ParseSizeError

source§

impl StructuralPartialEq for ParseSizeError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere diff --git a/dev/uucore/perms/entries/struct.Passwd.html b/dev/uucore/perms/entries/struct.Passwd.html index c46d07862..9f0368add 100644 --- a/dev/uucore/perms/entries/struct.Passwd.html +++ b/dev/uucore/perms/entries/struct.Passwd.html @@ -27,7 +27,7 @@ call getgrouplist().

not update ngroups if ngroups is too small. Therefore, if not updated by getgrouplist, ngroups needs to be increased in a loop until getgrouplist stops returning -1.

-

Trait Implementations§

source§

impl Clone for Passwd

source§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Passwd

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Locate<&'a str> for Passwd

source§

fn locate(k: &'a str) -> IOResult<Self>

source§

impl Locate<u32> for Passwd

source§

fn locate(k: uid_t) -> IOResult<Self>

Auto Trait Implementations§

§

impl RefUnwindSafe for Passwd

§

impl Send for Passwd

§

impl Sync for Passwd

§

impl Unpin for Passwd

§

impl UnwindSafe for Passwd

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for Passwd

source§

fn clone(&self) -> Passwd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Passwd

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Locate<&'a str> for Passwd

source§

fn locate(k: &'a str) -> IOResult<Self>

source§

impl Locate<u32> for Passwd

source§

fn locate(k: uid_t) -> IOResult<Self>

Auto Trait Implementations§

§

impl RefUnwindSafe for Passwd

§

impl Send for Passwd

§

impl Sync for Passwd

§

impl Unpin for Passwd

§

impl UnwindSafe for Passwd

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.