Skip to content
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

chore: fix dependency resolution because of dep: syntax in serde feature #988

Merged
merged 4 commits into from
Nov 26, 2023

Conversation

mina86
Copy link
Contributor

@mina86 mina86 commented Nov 25, 2023

I’m not entirely sure if it’s no_std specifically that causes the
issue, but if ibc-apps-transfer is build without std feature but with
serde feature it enables serde_json/std feature while serde_json
dependency isn’t enabled. This seems to confuse Cargo which thinks
serde_json is supposed to be a feature. This all leads to a failure
in dependency resolution:

error: failed to select a version for `ibc-app-transfer`.
    ... required by package `ibc-apps v0.48.0`
    ... which satisfies dependency `ibc-apps = "^0.48.0"` (locked to 0.48.0) of package `ibc v0.48.0`
    ... which satisfies dependency `ibc = "^0.48.0"` (locked to 0.48.0) of package `ibc-testkit v0.48.0`
    ... which satisfies dependency `ibc-testkit = "^0.48.0"` (locked to 0.48.0) of package …
versions that meet the requirements `^0.48.0` (locked to 0.48.0) are: 0.48.0

the package `ibc-apps` depends on `ibc-app-transfer`, with features: `serde_json` but `ibc-app-transfer` does not have these features.
 It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

Closes: #987


PR author checklist:

  • Added changelog entry, using unclog.
  • Added tests.
  • Linked to GitHub issue.
  • Updated code comments and documentation (e.g., docs/).
  • Tagged one reviewer who will be the one responsible for shepherding this PR.

Reviewer checklist:

  • Reviewed Files changed in the GitHub PR explorer.
  • Manually tested (in case integration/unit/mock tests are absent).

I’m not entirely sure if it’s no_std specifically that causes the
issue, but if ibc-apps-transfer is build without std feature but with
serde feature it enables serde_json/std feature while serde_json
dependency isn’t enabled.  This seems to confuse Cargo which thinks
serde_json is supposed to be a feature.  This all leads to a failure
in dependency resolution:

    error: failed to select a version for `ibc-app-transfer`.
        ... required by package `ibc-apps v0.48.0`
        ... which satisfies dependency `ibc-apps = "^0.48.0"` (locked to 0.48.0) of package `ibc v0.48.0`
        ... which satisfies dependency `ibc = "^0.48.0"` (locked to 0.48.0) of package `ibc-testkit v0.48.0`
        ... which satisfies dependency `ibc-testkit = "^0.48.0"` (locked to 0.48.0) of package …
    versions that meet the requirements `^0.48.0` (locked to 0.48.0) are: 0.48.0

    the package `ibc-apps` depends on `ibc-app-transfer`, with features: `serde_json` but `ibc-app-transfer` does not have these features.
     It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.
Copy link

codecov bot commented Nov 25, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (3703e29) 70.30% compared to head (7e25826) 70.30%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #988   +/-   ##
=======================================
  Coverage   70.30%   70.30%           
=======================================
  Files         178      178           
  Lines       17692    17692           
=======================================
  Hits        12439    12439           
  Misses       5253     5253           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Farhad-Shabani Farhad-Shabani changed the title chore: fix no_std builds chore: fix dependency resolution because of dep: syntax in serde feature Nov 26, 2023
mina86 and others added 2 commits November 26, 2023 23:53
Co-authored-by: Farhad Shabani <Farhad.Shabani@gmail.com>
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Copy link
Member

@Farhad-Shabani Farhad-Shabani left a comment

Choose a reason for hiding this comment

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

Thanks for reporting this issue @mina86 🙏🏻

@Farhad-Shabani Farhad-Shabani merged commit fc25b94 into cosmos:main Nov 26, 2023
13 checks passed
@Farhad-Shabani Farhad-Shabani mentioned this pull request Nov 27, 2023
@mina86 mina86 deleted the h branch November 29, 2023 20:41
Farhad-Shabani added a commit that referenced this pull request Sep 9, 2024
…feature (#988)

* chore: fix no_std builds

* Update .changelog/unreleased/bug-fixes/987-serde-json-feature.md

Co-authored-by: Farhad Shabani <Farhad.Shabani@gmail.com>
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>

* review

---------

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Co-authored-by: Farhad Shabani <Farhad.Shabani@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Importing ibc-testkit failed
2 participants