-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Restrict the dependency on indexmap
to v2 only
#51
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Are you 100% sure this will fix the issue yewstack/yew#3659 ? If you have managed to reproduce and have tested all the scenarios and you are sure this will fix the issue this is great. But it's a breaking change which requires bumping the major, you will also need to make a Yew release.
I highly doubt it fixes yewstack/yew#3659. The error comes because cargo doesn't update dependencies of a dependency when that dependency is updated manually via editing Cargo.toml instead of using |
however, the actual error is that Rust considers indexmap v1.9 & indexmap v2.0 different crates, if implicit-clone didn't allow v1.*, this wouldn't have been a problem |
so.... shall we merge or we need more feedbacks from other maintainers? With all the sh*t I saw with cargo when allowing multiple versions like that, I believe this is still broken. It's more of a cargo issue imo... but in the meantime I don't think it hurts to force the version of indexmap to 2.x.y. The only downside is that it will solve issues for the next versions of Yew only. People using 0.21 will need to fix their dependency tree manually with a command that looks like this one:
(just tested on a temporary project using |
well.. that error stayed with me for 2weeks. when It was gone... I... |
I honestly have no clue how to reproduce the issue that's being solved with this PR, until we find a stable way to do so, it'll have to wait, and we'll have to keep looking... |
I was able to reproduce it by performing the steps in the yew quick start using Rust 1.79 out of the box. I could not get past the first build of the |
@its-the-shrimp I don't think I want to bother testing more and it's not really useful to keep the retro-compatibility here so I'd suggest we merge and see with next Yew version. (Not the current version as it might break things for others). What do you think? |
I've just tried the Yew quick-start defined here: https://yew.rs/docs/next/getting-started/build-a-sample-app#setting-up-the-application-manually, and I couldn't get any error, but the error is definitely caused by allowing v1 alongside v2, so I think we should merge this |
Allowing both indexmap v1 & v2 causes a lot of annoyance when the version of indexmap used by this crate and the one used by other crates in the dependency tree don't match.
See also yewstack/yew#3659