Skip to content

Conversation

A4-Tacks
Copy link
Contributor

@A4-Tacks A4-Tacks commented Sep 30, 2025

Example

fn main() {
    if$0 let Ok(x) = Err(92)
        && let Ok(y) = Ok(37)
        && x < 30
        && let Some(y) = Some(8)
    {
        foo(x, y);
    }
}

Before this PR:

fn main() {
    let Ok(x) = Err(92) else { return };
    if !(let Ok(y) = Ok(37) && x < 30) {
        return;
    }
    let Some(y) = Some(8) else { return };
    foo(x, y);
}

After this PR:

fn main() {
    let Ok(x) = Err(92) else { return };
    let Ok(y) = Ok(37) else { return };
    if x >= 30 {
        return;
    }
    let Some(y) = Some(8) else { return };
    foo(x, y);
}

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 30, 2025
@A4-Tacks A4-Tacks force-pushed the fix-guarded-rhs-let-else branch from 03af4ec to e23d6fd Compare September 30, 2025 05:14
Example
---
```rust
fn main() {
    if$0 let Ok(x) = Err(92)
        && let Ok(y) = Ok(37)
        && x < 30
        && let Some(y) = Some(8)
    {
        foo(x, y);
    }
}
```

**Before this PR**:

```rust
fn main() {
    let Ok(x) = Err(92) else { return };
    if !(let Ok(y) = Ok(37) && x < 30) {
        return;
    }
    let Some(y) = Some(8) else { return };
    foo(x, y);
}
```

**After this PR**:

```rust
fn main() {
    let Ok(x) = Err(92) else { return };
    let Ok(y) = Ok(37) else { return };
    if x >= 30 {
        return;
    }
    let Some(y) = Some(8) else { return };
    foo(x, y);
}
```
@A4-Tacks A4-Tacks force-pushed the fix-guarded-rhs-let-else branch from e23d6fd to 9a7afe1 Compare September 30, 2025 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants