-
Couldn't load subscription status.
- Fork 13.9k
Open
Labels
A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsA-suggestion-diagnosticsArea: Suggestions generated by the compiler applied by `cargo fix`Area: Suggestions generated by the compiler applied by `cargo fix`A-trait-systemArea: Trait systemArea: Trait systemC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.D-terseDiagnostics: An error or lint that doesn't give enough information about the problem at hand.Diagnostics: An error or lint that doesn't give enough information about the problem at hand.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
Problem
I find myself confusing the parse and from_str methods quite often. Take for example:
error[E0599]: no function or associated item named `parse` found for struct `connection_string::JdbcString` in the current scope
--> src\connector\mssql.rs:363:55
|
363 | let mut jdbc = connection_string::JdbcString::parse(input)?;
| ^^^^^ function or associated item not found in `connection_string::JdbcString`parse doesn't exist on JdbcString; from_str does. So the way to fix it would be to write:
// either call `from_str`
let mut jdbc = connection_string::JdbcString::from_str(input)?;
// or flip it and call `parse` on the string
let mut jdbc: connection_string::JdbcString = input.parse()?;Solution
It'd be great if the diagnostic could detect if parse was called on a type that implements FromStr and suggest to use from_str instead:
error[E0599]: no function or associated item named `parse` found for struct `connection_string::JdbcString` in the current scope
--> src\connector\mssql.rs:363:55
|
363 | let mut jdbc = connection_string::JdbcString::parse(input)?;
| ^^^^^ function or associated item not found in `connection_string::JdbcString`
| |
| help: did you mean to call `connection_string::JdbcString::from_str`?jyn514, pickfire, nilslice, eopb and ssg
Metadata
Metadata
Assignees
Labels
A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsA-suggestion-diagnosticsArea: Suggestions generated by the compiler applied by `cargo fix`Area: Suggestions generated by the compiler applied by `cargo fix`A-trait-systemArea: Trait systemArea: Trait systemC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.D-terseDiagnostics: An error or lint that doesn't give enough information about the problem at hand.Diagnostics: An error or lint that doesn't give enough information about the problem at hand.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.