aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-02-21 20:47:50 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-02-21 20:47:50 +0000
commitbb665a70627cbc2f4fb930fefb04899941b6afa6 (patch)
treee63b8aa30ec149dbff97d5dbf45fed998fdaf744 /crates/ra_ide_api
parent5100aeac429919d1758908efb2f9cbe0d02c7510 (diff)
parentdb9a5a9ac047ed13aebd136edaabd4309f442e99 (diff)
Merge #864
864: Fix handling of generics in tuple variants and refactor a bit r=matklad a=flodiebold (The problem was that we created separate substitutions for the return value, so we lost the connection between the type arguments in the constructor call and the type arguments of the result.) Also make them display a tiny bit nicer. Fixes #860. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_ide_api')
-rw-r--r--crates/ra_ide_api/src/hover.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/ra_ide_api/src/hover.rs b/crates/ra_ide_api/src/hover.rs
index 0888ab6de..a41c4e546 100644
--- a/crates/ra_ide_api/src/hover.rs
+++ b/crates/ra_ide_api/src/hover.rs
@@ -164,6 +164,23 @@ mod tests {
164 } 164 }
165 165
166 #[test] 166 #[test]
167 fn hover_some() {
168 let (analysis, position) = single_file_with_position(
169 "
170 enum Option<T> { Some(T) }
171 use Option::Some;
172
173 fn main() {
174 So<|>me(12);
175 }
176 ",
177 );
178 let hover = analysis.hover(position).unwrap().unwrap();
179 // not the nicest way to show it currently
180 assert_eq!(hover.info, "Some<i32>(T) -> Option<T>");
181 }
182
183 #[test]
167 fn hover_for_local_variable() { 184 fn hover_for_local_variable() {
168 let (analysis, position) = single_file_with_position("fn func(foo: i32) { fo<|>o; }"); 185 let (analysis, position) = single_file_with_position("fn func(foo: i32) { fo<|>o; }");
169 let hover = analysis.hover(position).unwrap().unwrap(); 186 let hover = analysis.hover(position).unwrap().unwrap();