Skip to content

fix: clippy::result_large_err warning #488

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 27, 2025

Conversation

vsavchyn-dev
Copy link
Contributor

No description provided.

src/common.rs Outdated
@@ -2352,6 +2354,7 @@ pub fn input_network_name(
}

pub trait JsonRpcClientExt {
#[allow(clippy::result_large_err)]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vsavchyn-dev this looks a bit strange, as if the lint was fixed by boxing and silenced at the same time. Has #[allow...] been added erroneously?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, well, ok, the generic return type could be tried to be boxed too Box<M::Error>, but it's probably just not worth the churn, as performance impact would be negligible compared to rpc's network latency.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it might be better to replace a MethodCallResult with a native Result type to be able to wrap it in Box (we can't wrap M::Error in Box, because we will end up with JsonRpcError<Box<M::Error>> instead of Box<JsonRpcError<M::Error>>

Fixed in 9cfd124

@dj8yfo
Copy link
Collaborator

dj8yfo commented May 27, 2025

@race-of-sloths score 5

@race-of-sloths
Copy link

@dj8yfo Thank you for calling!

@vsavchyn-dev Thank you for the contribution! Join Race of Sloths by simply mentioning me in your comment/PRs description and start collecting Sloth Points through contributions to open source projects.

What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow

For contributors:

  • Tag @race-of-sloths inside your pull requests
  • Wait for the maintainer to review and score your pull request
  • Check out your position in the Leaderboard
  • Keep weekly and monthly streaks to reach higher positions
  • Boast your contributions with a dynamic picture of your Profile

For maintainers:

  • Score pull requests that participate in the Race of Sloths and receive a reward
  • Engage contributors with fair scoring and fast responses so they keep their streaks
  • Promote the Race to the point where the Race starts promoting you
  • Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands
  • For contributors
    • Include a PR: @race-of-sloths include to enter the Race with your PR
  • For maintainers:
    • Invite contributor @race-of-sloths invite to invite the contributor to participate in a race or include it, if it's already a runner.
    • Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
    • Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
    • Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

@dj8yfo dj8yfo self-requested a review May 27, 2025 14:06
@dj8yfo
Copy link
Collaborator

dj8yfo commented May 27, 2025

merge conflicts have to be resolved

@dj8yfo dj8yfo enabled auto-merge (squash) May 27, 2025 15:46
near_jsonrpc_client::errors::JsonRpcError<
near_jsonrpc_primitives::types::query::RpcQueryError,
Box<
near_jsonrpc_client::errors::JsonRpcError<
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dj8yfo Also, maybe it's better to introduce a type definition for this error on near-cli's side to reduce code repetition. Something like type CustomResult<T, E> = Result<T, Box<JsonRpcError<E>>. Is this an overkill or should we do it?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like a nice alias to shorten the code a bit

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #490

@dj8yfo dj8yfo merged commit 4d0fd82 into near:main May 27, 2025
8 checks passed
@github-project-automation github-project-automation bot moved this from NEW❗ to Shipped 🚀 in DevTools May 27, 2025
@frol frol mentioned this pull request May 27, 2025
@vsavchyn-dev vsavchyn-dev deleted the clippy-warning-fix branch May 27, 2025 19:18
frol added a commit that referenced this pull request Jul 8, 2025
## 🤖 New release

* `near-cli-rs`: 0.20.0 -> 0.21.0 (⚠ API breaking changes)

### ⚠ `near-cli-rs` breaking changes

```text
--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant ContractActionsDiscriminants::DownloadAbi 4 -> 5 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:61
  variant ContractActionsDiscriminants::DownloadWasm 5 -> 6 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:64
  variant ContractActionsDiscriminants::ViewStorage 6 -> 7 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:67
  variant ContractActionsDiscriminants::DownloadAbi 4 -> 5 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:61
  variant ContractActionsDiscriminants::DownloadWasm 5 -> 6 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:64
  variant ContractActionsDiscriminants::ViewStorage 6 -> 7 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:67

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron

Failed in:
  variant SignWithDiscriminants:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64
  variant SignWithDiscriminants:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64
  variant CliContractActions:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:26
  variant CliSignWith:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:19
  variant SignWith:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64
  variant ContractActionsDiscriminants:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:58
  variant ContractActionsDiscriminants:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:58

--- failure trait_newly_sealed: pub trait became sealed ---

Description:
A publicly-visible trait became sealed, so downstream crates are no longer able to implement it
        ref: https://rust-lang.github.io/api-guidelines/future-proofing.html#sealed-traits-protect-against-downstream-implementations-c-sealed
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_newly_sealed.ron

Failed in:
  trait near_cli_rs::common::JsonRpcClientExt in file /tmp/.tmpHq8aq0/near-cli-rs/src/common.rs:2342
```

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.21.0](v0.20.0...v0.21.0)
- 2025-07-08

### Added

- Improved support for importing implicit accounts
([#498](#498))
- Added a command to confirm locally that the deployed contract matches
the source code it was built from
([#480](#480))
- Add support for submitting general DAO proposals
([#492](#492))

### Fixed

- Fixed typos in the default CLI config
([#501](#501))
- Fixed error RpcError: [missing field disable_9393_fix]
([#502](#502))
- use re-rexported version of `indicatif` module, needed for
`tracing-indicatif`
([#503](#503))
- `clippy::result_large_err` warning
([#488](#488))

### Other

- Added `verify_contract`/`inspect_contract` feauture gates
([#504](#504))
- Pinned binary releases to use ubuntu-22.04
([#506](#506))
- Fixed linting errors - non-inlined formatting syntax
([#499](#499))
- fix some typos ([#494](#494))
- simplified action struct
([#493](#493))
- added more RPCs (FAST NEAR and Lava) to the default config generation
([#491](#491))
- introduced `BoxedJsonRpcResult` type
([#490](#490))
- fixed shell configuration for command history
([#487](#487))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Shipped 🚀
Development

Successfully merging this pull request may close these issues.

4 participants