Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 9f1bb17

Browse files
author
Jonas Schievink
committed
Import option in the tests
1 parent f0a1434 commit 9f1bb17

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

crates/ide-assists/src/handlers/convert_match_to_let_else.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ fn find_arms(
8686
let mut extracting = None;
8787
let mut diverging = None;
8888
for arm in arms {
89-
if ctx.sema.is_diverging_match_arm(&arm)? {
89+
if ctx.sema.type_of_expr(&arm.expr().unwrap()).unwrap().original().is_never() {
9090
diverging = Some(arm);
9191
} else {
9292
extracting = Some(arm);
@@ -159,6 +159,7 @@ mod tests {
159159
check_assist_not_applicable(
160160
convert_match_to_let_else,
161161
r#"
162+
//- minicore: option
162163
fn foo(opt: Option<()>) {
163164
let val = $0match opt {
164165
Some(it) => it,
@@ -175,7 +176,8 @@ fn foo(opt: Option<()>) {
175176
check_assist_not_applicable(
176177
convert_match_to_let_else,
177178
r#"
178-
fn foo(opt: Option<()>) {
179+
//- minicore: option
180+
fn foo(opt: Option<i32>) {
179181
let val = $0match opt {
180182
Some(it) => it + 1,
181183
None => return,
@@ -187,6 +189,7 @@ fn foo(opt: Option<()>) {
187189
check_assist_not_applicable(
188190
convert_match_to_let_else,
189191
r#"
192+
//- minicore: option
190193
fn foo(opt: Option<()>) {
191194
let val = $0match opt {
192195
Some(it) => {
@@ -206,6 +209,7 @@ fn foo(opt: Option<()>) {
206209
check_assist_not_applicable(
207210
convert_match_to_let_else,
208211
r#"
212+
//- minicore: option
209213
fn foo(opt: Option<()>) {
210214
let val = $0match opt {
211215
Some(it) if 2 > 1 => it,
@@ -221,6 +225,7 @@ fn foo(opt: Option<()>) {
221225
check_assist(
222226
convert_match_to_let_else,
223227
r#"
228+
//- minicore: option
224229
fn foo(opt: Option<()>) {
225230
let val = $0match opt {
226231
Some(it) => it,
@@ -241,6 +246,7 @@ fn foo(opt: Option<()>) {
241246
check_assist(
242247
convert_match_to_let_else,
243248
r#"
249+
//- minicore: option
244250
fn foo(opt: Option<()>) {
245251
let ref mut val = $0match opt {
246252
Some(it) => it,
@@ -261,6 +267,7 @@ fn foo(opt: Option<()>) {
261267
check_assist(
262268
convert_match_to_let_else,
263269
r#"
270+
//- minicore: option, result
264271
fn foo(opt: Option<Result<()>>) {
265272
let val = $0match opt {
266273
Some(Ok(it)) => it,
@@ -281,6 +288,7 @@ fn foo(opt: Option<Result<()>>) {
281288
check_assist(
282289
convert_match_to_let_else,
283290
r#"
291+
//- minicore: option
284292
fn foo(opt: Option<()>) {
285293
loop {
286294
let val = $0match opt {
@@ -302,6 +310,7 @@ fn foo(opt: Option<()>) {
302310
check_assist(
303311
convert_match_to_let_else,
304312
r#"
313+
//- minicore: option
305314
fn foo(opt: Option<()>) {
306315
loop {
307316
let val = $0match opt {
@@ -323,6 +332,7 @@ fn foo(opt: Option<()>) {
323332
check_assist(
324333
convert_match_to_let_else,
325334
r#"
335+
//- minicore: option
326336
fn panic() -> ! {}
327337
328338
fn foo(opt: Option<()>) {
@@ -351,6 +361,7 @@ fn foo(opt: Option<()>) {
351361
check_assist(
352362
convert_match_to_let_else,
353363
r#"
364+
//- minicore: option
354365
struct Point {
355366
x: i32,
356367
y: i32,
@@ -381,6 +392,7 @@ fn foo(opt: Option<Point>) {
381392
check_assist(
382393
convert_match_to_let_else,
383394
r#"
395+
//- minicore: option
384396
fn foo(opt: Option<i32>) -> Option<i32> {
385397
let val = $0match opt {
386398
it @ Some(42) => it,

0 commit comments

Comments
 (0)