mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +00:00
Merge pull request #18700 from ChayimFriedman2/dyn-send
fix: Fix a panic with a diagnostics fix when a keyword is used as a field
This commit is contained in:
commit
0a706f7d2a
1 changed files with 18 additions and 1 deletions
|
@ -90,7 +90,9 @@ fn field_fix(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Option<A
|
|||
make::ty("()")
|
||||
};
|
||||
|
||||
if !is_editable_crate(target_module.krate(), ctx.sema.db) {
|
||||
if !is_editable_crate(target_module.krate(), ctx.sema.db)
|
||||
|| SyntaxKind::from_keyword(field_name, ctx.edition).is_some()
|
||||
{
|
||||
return None;
|
||||
}
|
||||
|
||||
|
@ -501,4 +503,19 @@ fn main() {}
|
|||
"#,
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn regression_18683() {
|
||||
check_diagnostics(
|
||||
r#"
|
||||
struct S;
|
||||
impl S {
|
||||
fn f(self) {
|
||||
self.self
|
||||
// ^^^^ error: no field `self` on type `S`
|
||||
}
|
||||
}
|
||||
"#,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue