Skip to content

postgres-shared: phf =0.7.21 causes severe version conflicts #369

Closed
@fschutt

Description

@fschutt

I happen to depend on the git version of svgdom, which has phf = "0.7.22" listed:

https://github.com/RazrFalcon/svgtypes/blob/master/Cargo.toml#L20

However, the currently released version of postgres 0.6.0 has phf = "=0.7.21" listed. The = leads to a version conflict between the two:

results in:

    Updating git repository `https://github.com/maps4print/azul`
    Updating registry `https://github.com/rust-lang/crates.io-index`
    Updating git repository `https://github.com/fschutt/glium`
    Updating git repository `https://github.com/RazrFalcon/usvg`
    Updating git repository `https://github.com/servo/webrender`
    Updating git repository `https://github.com/fschutt/glutin`
    Updating git repository `https://github.com/fschutt/winit`
    Updating git repository `https://github.com/RazrFalcon/svgdom`
    Updating git repository `https://github.com/RazrFalcon/svgtypes`
    Updating git repository `https://github.com/RazrFalcon/xmlparser`
error: failed to select a version for `phf`.
    ... required by package `svgtypes v0.1.1 (https://github.com/RazrFalcon/svgtypes?rev=a794d41#a794d416)`
    ... which is depended on by `svgdom v0.13.0 (https://github.com/RazrFalcon/svgdom?rev=968db94#968db94b)`
    ... which is depended on by `usvg v0.2.0 (https://github.com/RazrFalcon/usvg?rev=803c4f7bfa1775e7f3824173ac05793a8a4adc5c#803c4f7b)`
    ... which is depended on by `azul v0.1.0 (https://github.com/maps4print/azul?branch=mapedit_menus#870c588c)`
    ... which is depended on by `mapedit2 v0.1.0 (file:///C:/Users/fschutt/Development/mapedit2)`
versions that meet the requirements `^0.7.22` are: 0.7.22

all possible versions conflict with previously selected packages.

  previously selected package `phf v0.7.21`
    ... which is depended on by `postgres-shared v0.3.0`
    ... which is depended on by `postgres v0.14.2`
    ... which is depended on by `mapedit2 v0.1.0 (file:///C:/Users/fschutt/Development/mapedit2)`

failed to select a version for `phf` which could resolve this conflict

So I can't use the postgres crate at all if I happen to also use svgdom. What I don't get: phf is just a hashing crate, why is the = required? Why can't it just use semver? Without the = I can build it without any problems, because it'll select 0.7.22 as the version for phf.

Why is the "=0.7.21" required, is it possible to change it to just be "0.7.21"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions