diff options
| author | r00ster <r00ster91@protonmail.com> | 2021-04-25 14:45:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-25 14:45:48 +0200 |
| commit | 22ec96135d1928b5fa9ea5ee565ad8f1efd76152 (patch) | |
| tree | 3212b87c80893f89db7da52d9a1b45fefb2cf366 | |
| parent | 13a2615883aa28433383a723a764ca9acb43fd48 (diff) | |
| download | rust-22ec96135d1928b5fa9ea5ee565ad8f1efd76152.tar.gz rust-22ec96135d1928b5fa9ea5ee565ad8f1efd76152.zip | |
Unify the docs of std::env::{args_os, args} more
| -rw-r--r-- | library/std/src/env.rs | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/library/std/src/env.rs b/library/std/src/env.rs index 5fa092af1da..513d9caa157 100644 --- a/library/std/src/env.rs +++ b/library/std/src/env.rs @@ -710,14 +710,14 @@ pub struct ArgsOs { /// passed as-is. /// /// On glibc Linux systems, arguments are retrieved by placing a function in `.init_array`. -/// Glibc passes `argc`, `argv`, and `envp` to functions in `.init_array`, as a non-standard +/// glibc passes `argc`, `argv`, and `envp` to functions in `.init_array`, as a non-standard /// extension. This allows `std::env::args` to work even in a `cdylib` or `staticlib`, as it /// does on macOS and Windows. /// /// # Panics /// /// The returned iterator will panic during iteration if any argument to the -/// process is not valid unicode. If this is not desired, +/// process is not valid Unicode. If this is not desired, /// use the [`args_os`] function instead. /// /// # Examples @@ -735,17 +735,25 @@ pub fn args() -> Args { Args { inner: args_os() } } -/// Returns the arguments which this program was started with (normally passed +/// Returns the arguments that this program was started with (normally passed /// via the command line). /// /// The first element is traditionally the path of the executable, but it can be -/// set to arbitrary text, and it may not even exist, so this property should +/// set to arbitrary text, and may not even exist. This means this property should /// not be relied upon for security purposes. /// -/// On glibc Linux systems, arguments are retrieved by placing a function in ".init_array". -/// Glibc passes argc, argv, and envp to functions in ".init_array", as a non-standard extension. -/// This allows `std::env::args` to work even in a `cdylib` or `staticlib`, as it does on macOS -/// and Windows. +/// On Unix systems the shell usually expands unquoted arguments with glob patterns +/// (such as `*` and `?`). On Windows this is not done, and such arguments are +/// passed as-is. +/// +/// On glibc Linux systems, arguments are retrieved by placing a function in `.init_array`. +/// glibc passes `argc`, `argv`, and `envp` to functions in `.init_array`, as a non-standard +/// extension. This allows `std::env::args_os` to work even in a `cdylib` or `staticlib`, as it +/// does on macOS and Windows. +/// +/// Note that the returned iterator will not panic during iteration if any argument to the +/// process is not valid Unicode. For more safety, +/// use the [`args`] function instead. /// /// # Examples /// |
