Skip to content

Commit ab10eea

Browse files
committed
Auto merge of #16967 - dfireBird:fix-16963, r=lnicola
fix: ADT hover considering only type or const len not lifetimes I feel like test doesn't do much. Please suggest if I should improve it? Fixes #16963
2 parents 899db83 + 34a8cd6 commit ab10eea

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

crates/hir/src/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1418,7 +1418,8 @@ impl Adt {
14181418
}
14191419

14201420
pub fn layout(self, db: &dyn HirDatabase) -> Result<Layout, LayoutError> {
1421-
if db.generic_params(self.into()).iter().count() != 0 {
1421+
let generic_params = &db.generic_params(self.into());
1422+
if generic_params.iter().next().is_some() || generic_params.iter_lt().next().is_some() {
14221423
return Err(LayoutError::HasPlaceholder);
14231424
}
14241425
let krate = self.krate(db).id;

crates/ide/src/hover/tests.rs

+22
Original file line numberDiff line numberDiff line change
@@ -7856,3 +7856,25 @@ impl Iterator for S {
78567856
"#]],
78577857
);
78587858
}
7859+
7860+
#[test]
7861+
fn hover_lifetime_regression_16963() {
7862+
check(
7863+
r#"
7864+
struct Pedro$0<'a> {
7865+
hola: &'a str
7866+
}
7867+
"#,
7868+
expect![[r#"
7869+
*Pedro*
7870+
7871+
```rust
7872+
test
7873+
```
7874+
7875+
```rust
7876+
struct Pedro<'a>
7877+
```
7878+
"#]],
7879+
)
7880+
}

0 commit comments

Comments
 (0)