Add get_line confusable to Stdin::read_line()

Add tests for addition of `#[rustc_confusables("get_line")]`
This commit is contained in:
Jaken Herman 2024-10-02 00:24:42 -05:00
parent ad9c494835
commit 4b48d72eaa
3 changed files with 17 additions and 1 deletions

View File

@ -394,6 +394,7 @@ pub fn lock(&self) -> StdinLock<'static> {
/// in which case it will wait for the Enter key to be pressed before /// in which case it will wait for the Enter key to be pressed before
/// continuing /// continuing
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[rustc_confusables("get_line")]
pub fn read_line(&self, buf: &mut String) -> io::Result<usize> { pub fn read_line(&self, buf: &mut String) -> io::Result<usize> {
self.lock().read_line(buf) self.lock().read_line(buf)
} }

View File

@ -23,4 +23,8 @@ fn main() {
//~^ HELP you might have meant to use `push_str` //~^ HELP you might have meant to use `push_str`
String::new().append(""); //~ ERROR E0599 String::new().append(""); //~ ERROR E0599
//~^ HELP you might have meant to use `push_str` //~^ HELP you might have meant to use `push_str`
let mut buffer = String::new();
let stdin = std::io::stdin();
stdin.get_line(&mut buffer).unwrap(); //~ ERROR E0599
//~^ HELP you might have meant to use `read_line`
} }

View File

@ -106,7 +106,18 @@ help: you might have meant to use `push_str`
LL | String::new().push_str(""); LL | String::new().push_str("");
| ~~~~~~~~ | ~~~~~~~~
error: aborting due to 8 previous errors error[E0599]: no method named `get_line` found for struct `Stdin` in the current scope
--> $DIR/rustc_confusables_std_cases.rs:28:11
|
LL | stdin.get_line(&mut buffer).unwrap();
| ^^^^^^^^ method not found in `Stdin`
|
help: you might have meant to use `read_line`
|
LL | stdin.read_line(&mut buffer).unwrap();
| ~~~~~~~~~
error: aborting due to 9 previous errors
Some errors have detailed explanations: E0308, E0599. Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`. For more information about an error, try `rustc --explain E0308`.