diff options
Diffstat (limited to 'crates/ra_hir/src/ty/tests.rs')
-rw-r--r-- | crates/ra_hir/src/ty/tests.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs index 25dad81eb..03b30adcd 100644 --- a/crates/ra_hir/src/ty/tests.rs +++ b/crates/ra_hir/src/ty/tests.rs | |||
@@ -135,6 +135,25 @@ mod boxed { | |||
135 | } | 135 | } |
136 | 136 | ||
137 | #[test] | 137 | #[test] |
138 | fn infer_adt_self() { | ||
139 | let (db, pos) = MockDatabase::with_position( | ||
140 | r#" | ||
141 | //- /main.rs | ||
142 | enum Nat { Succ(Self), Demo(Nat), Zero } | ||
143 | |||
144 | fn test() { | ||
145 | let foo: Nat = Nat::Zero; | ||
146 | if let Nat::Succ(x) = foo { | ||
147 | x<|> | ||
148 | } | ||
149 | } | ||
150 | |||
151 | "#, | ||
152 | ); | ||
153 | assert_eq!("Nat", type_at_pos(&db, pos)); | ||
154 | } | ||
155 | |||
156 | #[test] | ||
138 | fn infer_try() { | 157 | fn infer_try() { |
139 | let (mut db, pos) = MockDatabase::with_position( | 158 | let (mut db, pos) = MockDatabase::with_position( |
140 | r#" | 159 | r#" |