pub fn prompt_for_string<IS: AbstractStream, OS: AbstractStream>(
    mut input_stream: IS,
    mut output_stream: OS,
    prompt: &str,
    is_sensitive: bool,
) -> Result<String> {
    let mut input_reader = build_input_reader(&mut input_stream)?;
    prompt_for_string_impl(
        &mut input_stream,
        &mut input_reader,
        &mut output_stream,
        prompt,
        is_sensitive,
    )
}
/// Prompt the user for a string (read from the given input stream) using the
/// given output stream (typically standard output or standard error) to display
/// the given prompt message.
///
/// If `is_sensitive` is true, then the users characters will not be echoed back
/// (e.g. this will behave like a password prompt).
///
/// Note that there are various requirements for the given streams, and this
/// function will return an error if any of them are not met:
///
/// - Both `input_stream` and `output_stream` must be TTYs.
/// - `input_stream` must return a valid `Read` instance.
/// - `output_stream` must return a valid `Write` instance.
Prompt the user for a string (read from the given input stream) using the
given output stream (typically standard output or standard error) to display
the given prompt message.

If `is_sensitive` is true, then the users characters will not be echoed back
.

Note that there are various requirements for the given streams, and this
function will return an error if any of them are not met.


Prompt the user for a string ( read from the given input stream ) using the given output stream ( typically standard output or standard error ) to display the given prompt message . If ` is_sensitive ` is true then the users characters will not be echoed back . Note that there are various requirements for the given streams and this function will return an error if any of them are not met .
pub fn prompt_for_string<IS: AbstractStream, OS: AbstractStream>(
    mut input_stream: IS,
    mut output_stream: OS,
    prompt: &str,
    is_sensitive: bool,
) -> Result<String> {
    let mut input_reader = build_input_reader(&mut input_stream)?;
    prompt_for_string_impl(
        &mut input_stream,
        &mut input_reader,
        &mut output_stream,
        prompt,
        is_sensitive,
    )
}
pub fn prompt_for_string < IS : AbstractStream , OS : AbstractStream > ( mut input_stream : IS , mut output_stream : OS , prompt : & str , is_sensitive : bool , ) -> Result < String > { let mut input_reader = build_input_reader ( & mut input_stream ) ? ; prompt_for_string_impl ( & mut input_stream , & mut input_reader , & mut output_stream , prompt , is_sensitive , ) }
Prompt the user for a string (read from the given input stream) using the
given output stream (typically standard output or standard error) to display
the given prompt message.
Prompt the user for a string ( read from the given input stream ) using the given output stream ( typically standard output or standard error ) to display the given prompt message .
input_stream
IS
output_stream
OS
prompt
&str
is_sensitive
bool
input_stream
IS
output_stream
OS
prompt
&str
is_sensitive
bool