Skip to content

Commit 23504e1

Browse files
authored
Merge pull request #20392 from rust-lang/veykril/push-pxplxplxvvyy
Report the incorrect payload when failing to deserialize lsp messages
2 parents 4b49c7b + ae8b69f commit 23504e1

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

crates/ide/src/inlay_hints.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,9 @@ fn hints(
228228
chaining::hints(hints, famous_defs, config, display_target, &expr);
229229
adjustment::hints(hints, famous_defs, config, display_target, &expr);
230230
match expr {
231-
ast::Expr::CallExpr(it) => param_name::hints(hints, famous_defs, config, ast::Expr::from(it)),
231+
ast::Expr::CallExpr(it) => param_name::hints(hints, famous_defs, config, file_id, ast::Expr::from(it)),
232232
ast::Expr::MethodCallExpr(it) => {
233-
param_name::hints(hints, famous_defs, config, ast::Expr::from(it))
233+
param_name::hints(hints, famous_defs, config, file_id, ast::Expr::from(it))
234234
}
235235
ast::Expr::ClosureExpr(it) => {
236236
closure_captures::hints(hints, famous_defs, config, it.clone());

crates/ide/src/inlay_hints/param_name.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use std::iter::zip;
88

99
use either::Either;
10-
use hir::Semantics;
10+
use hir::{EditionedFileId, Semantics};
1111
use ide_db::{RootDatabase, famous_defs::FamousDefs};
1212

1313
use stdx::to_lower_snake_case;
@@ -19,6 +19,7 @@ pub(super) fn hints(
1919
acc: &mut Vec<InlayHint>,
2020
FamousDefs(sema, krate): &FamousDefs<'_, '_>,
2121
config: &InlayHintsConfig,
22+
file_id: EditionedFileId,
2223
expr: ast::Expr,
2324
) -> Option<()> {
2425
if !config.parameter_hints {
@@ -39,6 +40,9 @@ pub(super) fn hints(
3940
.filter_map(|(p, arg)| {
4041
// Only annotate hints for expressions that exist in the original file
4142
let range = sema.original_range_opt(arg.syntax())?;
43+
if range.file_id != file_id {
44+
return None;
45+
}
4246
let param_name = p.name(sema.db)?;
4347
Some((p, param_name, arg, range))
4448
})

lib/lsp-server/src/msg.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ impl Message {
175175
let msg = match serde_json::from_str(&text) {
176176
Ok(msg) => msg,
177177
Err(e) => {
178-
return Err(invalid_data!("malformed LSP payload: {:?}", e));
178+
return Err(invalid_data!("malformed LSP payload `{e:?}`: {text:?}"));
179179
}
180180
};
181181

0 commit comments

Comments
 (0)