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:
Lukas Wirth 2024-12-16 21:54:28 +00:00 committed by GitHub
commit 0a706f7d2a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -90,7 +90,9 @@ fn field_fix(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Option<A
make::ty("()") 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; 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`
}
}
"#,
);
}
} }