the trait bound `TableColor: From<crossterm::style::Color>` is not satisfied

Open
#218 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust
Domain
cli

Research direction

Start with the reported click.rs line 59 and table.rs line 65, then inspect the project’s dependency resolution for the crossterm versions used by click and comfy_table. Confirm the dependency versions are compatible and verify that cargo install click compiles without the reported type and trait errors.

Written by the indexing model from the issue text.

Description

Hi, I might these 2 errors when installing Click on my laptop, could someone help to take a look?

error[E0277]: the trait bound `TableColor: From<crossterm::style::Color>` is not satisfied
  --> /Users/xxx.cargo/registry/src/github.com-1ecc6299db9ec823/click-0.6.2/src/command/click.rs:59:55
   |
59 |                 Some(env.styles.context_table_color().into()),
   |                                                       ^^^^ the trait `From<crossterm::style::Color>` is not implemented for `TableColor`
   |
   = help: the following other types implement trait `From<T>`:
             <TableColor as From<ColorType>>
             <TableColor as From<comfy_table::Color>>
   = note: required for `crossterm::style::Color` to implement `Into<TableColor>`

error[E0308]: mismatched types
  --> /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/click-0.6.2/src/table.rs:65:36
   |
61 |     fn to_color(&self, env: &Env) -> Color {
   |                                      ----- expected `comfy_table::Color` because of return type
...
65 |                 ColorType::Info => env.styles.info_color(),
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^ expected `comfy_table::Color`, found `crossterm::style::Color`
   |
   = note: `crossterm::style::Color` and `comfy_table::Color` have similar names, but are actually distinct types
note: `crossterm::style::Color` is defined in crate `crossterm`
  --> /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/crossterm-0.25.0/src/style/types/color.rs:28:1
   |
28 | pub enum Color {
   | ^^^^^^^^^^^^^^
note: `comfy_table::Color` is defined in crate `crossterm`
  --> /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/crossterm-0.26.1/src/style/types/color.rs:28:1
   |
28 | pub enum Color {
   | ^^^^^^^^^^^^^^
   = note: perhaps two different versions of crate `crossterm` are being used?

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `click` due to 2 previous errors
error: failed to compile `click v0.6.2`, intermediate artifacts can be found at `/var/folders/04/jlt2yd8n07x9np7x2lph9ghh0000gp/T/cargo-installuJD6gf`
Dominant language
Rust
Stars
1.5k
Forks
93
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from databricks/click

All issues in databricks/click

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.