mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 20:42:04 +00:00
show variadic args in hover function signature
This commit is contained in:
parent
908c17bfa6
commit
49fab593ad
2 changed files with 29 additions and 0 deletions
|
@ -86,6 +86,11 @@ impl HirDisplay for Function {
|
||||||
// The former will ignore lifetime arguments currently.
|
// The former will ignore lifetime arguments currently.
|
||||||
type_ref.hir_fmt(f)?;
|
type_ref.hir_fmt(f)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if data.is_varargs() {
|
||||||
|
write!(f, ", ...")?;
|
||||||
|
}
|
||||||
|
|
||||||
write!(f, ")")?;
|
write!(f, ")")?;
|
||||||
|
|
||||||
// `FunctionData::ret_type` will be `::core::future::Future<Output = ...>` for async fns.
|
// `FunctionData::ret_type` will be `::core::future::Future<Output = ...>` for async fns.
|
||||||
|
|
|
@ -1757,6 +1757,30 @@ fn foo() { let bar = Bar; bar.fo$0o(); }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_hover_variadic_function() {
|
||||||
|
check(
|
||||||
|
r#"
|
||||||
|
extern "C" {
|
||||||
|
pub fn foo(bar: i32, ...) -> i32;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() { let foo_test = unsafe { fo$0o(1, 2, 3); } }
|
||||||
|
"#,
|
||||||
|
expect![[r#"
|
||||||
|
*foo*
|
||||||
|
|
||||||
|
```rust
|
||||||
|
test
|
||||||
|
```
|
||||||
|
|
||||||
|
```rust
|
||||||
|
pub unsafe fn foo(bar: i32, ...) -> i32
|
||||||
|
```
|
||||||
|
"#]],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_hover_trait_has_impl_action() {
|
fn test_hover_trait_has_impl_action() {
|
||||||
check_actions(
|
check_actions(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue