diff options
| author | Chayim Refael Friedman <chayimfr@gmail.com> | 2025-07-09 19:33:47 +0300 |
|---|---|---|
| committer | Chayim Refael Friedman <chayimfr@gmail.com> | 2025-07-09 19:33:47 +0300 |
| commit | 5c0c794bee3b300e8da78ac3d90a26551c8665c3 (patch) | |
| tree | ad7821ea5ae34ca176c9993748e07f5fe1d2755a | |
| parent | e4e9404ea24b92b1bdedc19117dbaa5f3c19510d (diff) | |
| download | rust-5c0c794bee3b300e8da78ac3d90a26551c8665c3.tar.gz rust-5c0c794bee3b300e8da78ac3d90a26551c8665c3.zip | |
Put `dyn` inlay hints in their correct place in presence of parentheses
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/inlay_hints/implied_dyn_trait.rs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/inlay_hints/implied_dyn_trait.rs b/src/tools/rust-analyzer/crates/ide/src/inlay_hints/implied_dyn_trait.rs index 6fc534b9f0b..0da1785234a 100644 --- a/src/tools/rust-analyzer/crates/ide/src/inlay_hints/implied_dyn_trait.rs +++ b/src/tools/rust-analyzer/crates/ide/src/inlay_hints/implied_dyn_trait.rs @@ -38,7 +38,7 @@ pub(super) fn hints( return None; } sema.resolve_trait(&path.path()?)?; - paren.map_or_else(|| path.syntax().text_range(), |it| it.text_range()) + path.syntax().text_range() } Either::Right(dyn_) => { if dyn_.dyn_token().is_some() { @@ -93,7 +93,7 @@ fn foo(_: &T, _: for<'a> T) {} impl T {} // ^ dyn impl T for (T) {} - // ^^^ dyn + // ^ dyn impl T "#, ); @@ -116,7 +116,7 @@ fn foo( _: &mut (T + T) // ^^^^^ dyn _: *mut (T), - // ^^^ dyn + // ^ dyn ) {} "#, ); @@ -151,4 +151,15 @@ fn test<F>(f: F) where F: for<'a> FnOnce(&'a i32) {} "#, ); } + + #[test] + fn with_parentheses() { + check( + r#" +trait T {} +fn foo(v: &(T)) {} + // ^ dyn + "#, + ); + } } |
