Merge pull request #18920 from Veykril/push-zxwtmooxumsl

fix: Fix `ref` text edit for binding mode hints
This commit is contained in:
Lukas Wirth 2025-01-12 12:28:57 +00:00 committed by GitHub
commit 1485a8819f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -106,7 +106,7 @@ pub(super) fn hints(
InlayHintPosition::Before => h.range.start(),
InlayHintPosition::After => h.range.end(),
},
h.label.parts.iter().map(|p| &*p.text).collect(),
h.label.parts.iter().map(|p| &*p.text).chain(h.pad_right.then_some(" ")).collect(),
);
}
let edit = edit.finish();
@ -118,8 +118,10 @@ pub(super) fn hints(
#[cfg(test)]
mod tests {
use expect_test::expect;
use crate::{
inlay_hints::tests::{check_with_config, DISABLED_CONFIG},
inlay_hints::tests::{check_edit, check_with_config, DISABLED_CONFIG},
InlayHintsConfig,
};
@ -194,4 +196,27 @@ fn foo(s @ Struct { field, .. }: &Struct) {}
"#,
);
}
#[test]
fn edits() {
check_edit(
InlayHintsConfig { binding_mode_hints: true, ..DISABLED_CONFIG },
r#"
fn main() {
match &(0,) {
(x,) | (x,) => (),
((x,) | (x,)) => (),
}
}
"#,
expect![[r#"
fn main() {
match &(0,) {
&(&((ref x,) | (ref x,))) => (),
&((ref x,) | (ref x,)) => (),
}
}
"#]],
);
}
}