termimad declares those imports in its bacon.toml:
[package]
edition = "2021"
resolver = "1"
[dependencies]
coolor = { version="0.6", features=["crossterm"] }
crossterm = "=0.23.2"
coolor 0.6 imports crossterm with
[dependencies]
ansi_colours = "1.2.2"
crossterm = { optional=true, version=">=0.23.2" }
So it looks to me that termimad should use crossterm 0.23.2
Here's what cargo tree says:
> cargo tree -i crossterm
error: There are multiple `crossterm` packages in your project, and the specification `crossterm` is ambiguous.
Please re-run this command with `-p <spec>` where `<spec>` is one of the following:
crossterm@0.23.2
crossterm@0.27.0
> cargo tree -i crossterm@0.23.2
crossterm v0.23.2
├── crokey v0.4.3
│ [dev-dependencies]
│ └── termimad v0.25.4 (/home/dys/dev/termimad)
└── termimad v0.25.4 (/home/dys/dev/termimad)
> cargo tree -i crossterm@0.27.0
crossterm v0.27.0
└── coolor v0.6.0
└── termimad v0.25.4 (/home/dys/dev/termimad)
Why does the resolver fail to use crossterm 0.23.2 ?
How can I fix the Cargo.toml files to ensure termimad uses crossterm 0.23.2 while allowing the users of coolor to use any version starting from 0.23.2 ?