Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover/render.rs')
-rw-r--r--crates/ide/src/hover/render.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/ide/src/hover/render.rs b/crates/ide/src/hover/render.rs
index 119a864eb9..d87c15154e 100644
--- a/crates/ide/src/hover/render.rs
+++ b/crates/ide/src/hover/render.rs
@@ -594,12 +594,21 @@ pub(super) fn definition(
_ => None,
};
+ let variance_info = || match def {
+ Definition::GenericParam(it) => it.variance(db).as_ref().map(ToString::to_string),
+ _ => None,
+ };
+
let mut extra = String::new();
if hovered_definition {
if let Some(notable_traits) = render_notable_trait(db, notable_traits, edition) {
extra.push_str("\n___\n");
extra.push_str(&notable_traits);
}
+ if let Some(variance_info) = variance_info() {
+ extra.push_str("\n___\n");
+ extra.push_str(&variance_info);
+ }
if let Some(layout_info) = layout_info() {
extra.push_str("\n___\n");
extra.push_str(&layout_info);