Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover/tests.rs')
| -rw-r--r-- | crates/ide/src/hover/tests.rs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/crates/ide/src/hover/tests.rs b/crates/ide/src/hover/tests.rs index d1721f1191..754fb2eccd 100644 --- a/crates/ide/src/hover/tests.rs +++ b/crates/ide/src/hover/tests.rs @@ -2323,6 +2323,49 @@ fn test_hover_layout_of_variant() { } #[test] +fn test_hover_layout_of_variant_generic() { + check( + r#"enum Option<T> { + Some(T), + None$0 +}"#, + expect![[r#" + *None* + + ```rust + test::Option + ``` + + ```rust + None + ``` + "#]], + ); +} + +#[test] +fn test_hover_layout_generic_unused() { + check( + r#" +//- minicore: phantom_data +struct S$0<T>(core::marker::PhantomData<T>); +"#, + expect![[r#" + *S* + + ```rust + test + ``` + + ```rust + // size = 0, align = 1 + struct S<T>(PhantomData<T>) + ``` + "#]], + ); +} + +#[test] fn test_hover_layout_of_enum() { check( r#"enum $0Foo { @@ -3673,6 +3716,7 @@ struct S$0T<const C: usize = 1, T = Foo>(T); ``` ```rust + // size = 0, align = 1 struct ST<const C: usize = 1, T = Foo>(T) ``` "#]], @@ -3694,6 +3738,7 @@ struct S$0T<const C: usize = {40 + 2}, T = Foo>(T); ``` ```rust + // size = 0, align = 1 struct ST<const C: usize = {const}, T = Foo>(T) ``` "#]], @@ -3716,6 +3761,7 @@ struct S$0T<const C: usize = VAL, T = Foo>(T); ``` ```rust + // size = 0, align = 1 struct ST<const C: usize = VAL, T = Foo>(T) ``` "#]], @@ -7872,6 +7918,7 @@ struct Pedro$0<'a> { ``` ```rust + // size = 16 (0x10), align = 8, niches = 1 struct Pedro<'a> ``` "#]], |