diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ee3276b..5723e9a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -38,6 +38,26 @@ jobs: - name: Check all targets run: cargo check --all --all-targets --all-features + clippy: + name: cargo clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install Rust and clippy + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: "1.60" + override: true + components: clippy + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: Swatinem/rust-cache@v2 + - name: Run cargo clippy + run: cargo clippy --workspace --all-targets --all-features -- --allow unknown_lints --deny warnings + deny-check: name: cargo-deny check runs-on: ubuntu-latest diff --git a/tonic-types/src/richer_error/mod.rs b/tonic-types/src/richer_error/mod.rs index 48422f8..a64a8cc 100644 --- a/tonic-types/src/richer_error/mod.rs +++ b/tonic-types/src/richer_error/mod.rs @@ -459,12 +459,10 @@ impl StatusExt for tonic::Status { let status = pb::Status::decode(self.details()).ok()?; for any in status.details.into_iter() { - match any.type_url.as_str() { - DebugInfo::TYPE_URL => match DebugInfo::from_any(any) { - Ok(detail) => return Some(detail), - Err(_) => {} - }, - _ => {} + if any.type_url.as_str() == DebugInfo::TYPE_URL { + if let Ok(detail) = DebugInfo::from_any(any) { + return Some(detail); + } } }