]> git.lizzy.rs Git - rust.git/blobdiff - crates/ra_ide_api/src/hover.rs
Hover for associated items in patterns
[rust.git] / crates / ra_ide_api / src / hover.rs
index bcd052c8bc4744f0036eb6d8b7c09f9fc8305fe5..638c24e3198434ab1fd38bba3c277a12779abe9f 100644 (file)
@@ -534,4 +534,27 @@ fn main() {
         assert_eq!(trim_markup_opt(hover.info.first()), Some("fn new() -> Thing"));
         assert_eq!(hover.info.is_exact(), true);
     }
+
+    #[test]
+    fn test_hover_infer_associated_const_in_pattern() {
+        let (analysis, position) = single_file_with_position(
+            "
+            struct X;
+            impl X {
+                const C: u32 = 1;
+            }
+
+            fn main() {
+                match 1 {
+                    X::C<|> => {},
+                    2 => {},
+                    _ => {}
+                };
+            }
+            ",
+        );
+        let hover = analysis.hover(position).unwrap().unwrap();
+        assert_eq!(trim_markup_opt(hover.info.first()), Some("const C: u32"));
+        assert_eq!(hover.info.is_exact(), true);
+    }
 }