error[E0277] when compiling komorebic #7

Closed
opened 2026-01-05 14:47:37 +01:00 by adam · 2 comments
Owner

Originally created by @crosstyan on GitHub (Aug 16, 2021).

When I'm compiling komorebic b2ab893e77 with cargo install --path komorebic I got complaints from compiler.

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:34:11
   |
34 |     Focus(OperationDirection),
   |           ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:35:10
   |
35 |     Move(OperationDirection),
   |          ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:36:11
   |
36 |     Stack(OperationDirection),
   |           ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `CycleDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:39:16
   |
39 |     CycleStack(CycleDirection),
   |                ^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `CycleDirection`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied
  --> komorebic\src\main.rs:59:24
   |
59 |     WatchConfiguration(BooleanState),
   |                        ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `LayoutFlip: clap::Args` is not satisfied
  --> komorebic\src\main.rs:69:16
   |
69 |     FlipLayout(LayoutFlip),
   |                ^^^^^^^^^^ the trait `clap::Args` is not implemented for `LayoutFlip`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied
  --> komorebic\src\main.rs:70:23
   |
70 |     FocusFollowsMouse(BooleanState),
   |                       ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState`
   |
   = note: required by `augment_args`

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:34:11
   |
34 |     Focus(OperationDirection),
   |           ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:35:10
   |
35 |     Move(OperationDirection),
   |          ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:36:11
   |
36 |     Stack(OperationDirection),
   |           ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `CycleDirection: clap::Args` is not satisfied
  --> komorebic\src\main.rs:39:16
   |
39 |     CycleStack(CycleDirection),
   |                ^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `CycleDirection`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied
  --> komorebic\src\main.rs:59:24
   |
59 |     WatchConfiguration(BooleanState),
   |                        ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `LayoutFlip: clap::Args` is not satisfied
  --> komorebic\src\main.rs:69:16
   |
69 |     FlipLayout(LayoutFlip),
   |                ^^^^^^^^^^ the trait `clap::Args` is not implemented for `LayoutFlip`
   |
   = note: required by `augment_args_for_update`

error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied
  --> komorebic\src\main.rs:70:23
   |
70 |     FocusFollowsMouse(BooleanState),
   |                       ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState`
   |
   = note: required by `augment_args_for_update`

error: aborting due to 14 previous errors

The version of rustc is 1.54.0 (a178d0322 2021-07-26) and komorebi was compiled successfully. Because I have no knowledge about Rust, I'm not sure what is going on.

Originally created by @crosstyan on GitHub (Aug 16, 2021). When I'm compiling komorebic b2ab893e77d343dba331dc7a1fb4252626284edf with `cargo install --path komorebic` I got complaints from compiler. ```log error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:34:11 | 34 | Focus(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args` error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:35:10 | 35 | Move(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args` error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:36:11 | 36 | Stack(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args` error[E0277]: the trait bound `CycleDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:39:16 | 39 | CycleStack(CycleDirection), | ^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `CycleDirection` | = note: required by `augment_args` error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied --> komorebic\src\main.rs:59:24 | 59 | WatchConfiguration(BooleanState), | ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState` | = note: required by `augment_args` error[E0277]: the trait bound `LayoutFlip: clap::Args` is not satisfied --> komorebic\src\main.rs:69:16 | 69 | FlipLayout(LayoutFlip), | ^^^^^^^^^^ the trait `clap::Args` is not implemented for `LayoutFlip` | = note: required by `augment_args` error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied --> komorebic\src\main.rs:70:23 | 70 | FocusFollowsMouse(BooleanState), | ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState` | = note: required by `augment_args` error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:34:11 | 34 | Focus(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:35:10 | 35 | Move(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `OperationDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:36:11 | 36 | Stack(OperationDirection), | ^^^^^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `OperationDirection` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `CycleDirection: clap::Args` is not satisfied --> komorebic\src\main.rs:39:16 | 39 | CycleStack(CycleDirection), | ^^^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `CycleDirection` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied --> komorebic\src\main.rs:59:24 | 59 | WatchConfiguration(BooleanState), | ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `LayoutFlip: clap::Args` is not satisfied --> komorebic\src\main.rs:69:16 | 69 | FlipLayout(LayoutFlip), | ^^^^^^^^^^ the trait `clap::Args` is not implemented for `LayoutFlip` | = note: required by `augment_args_for_update` error[E0277]: the trait bound `BooleanState: clap::Args` is not satisfied --> komorebic\src\main.rs:70:23 | 70 | FocusFollowsMouse(BooleanState), | ^^^^^^^^^^^^ the trait `clap::Args` is not implemented for `BooleanState` | = note: required by `augment_args_for_update` error: aborting due to 14 previous errors ``` The version of rustc is `1.54.0 (a178d0322 2021-07-26)` and komorebi was compiled successfully. Because I have no knowledge about Rust, I'm not sure what is going on.
adam closed this issue 2026-01-05 14:47:38 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Aug 16, 2021):

This is because the library used for generating the CLI, clap, just released a new beta with a lot of breaking changes. You should git checkout HEAD Cargo.lock to reset the lockfile and then run cargo install --path komorebic --locked to force it to use v3.0.0-beta-2 of clap. I will update the README with this information, it is generally good practice to install binaries with Cargo's --locked flag.

@LGUG2Z commented on GitHub (Aug 16, 2021): This is because the library used for generating the CLI, `clap`, [just released a new beta with a lot of breaking changes](https://github.com/clap-rs/clap/releases/tag/v3.0.0-beta.4). You should `git checkout HEAD Cargo.lock` to reset the lockfile and then run `cargo install --path komorebic --locked` to force it to use `v3.0.0-beta-2` of `clap`. I will update the README with this information, it is generally good practice to install binaries with Cargo's `--locked` flag.
Author
Owner

@LGUG2Z commented on GitHub (Aug 16, 2021):

@crosstyan If you ever have errors in the future when compiling against a commit which has a passing GitHub Actions pipeline, you can click on the green tick and go to the top right of the page to download the Artifacts zip file which will contain the komorebi.exe and komorebic.exe files built against that commit.

@LGUG2Z commented on GitHub (Aug 16, 2021): @crosstyan If you ever have errors in the future when compiling against a commit which has a passing GitHub Actions pipeline, you can [click on the green tick](https://github.com/LGUG2Z/komorebi/runs/3335954712) and go to the top right of the page to download the `Artifacts` zip file which will contain the `komorebi.exe` and `komorebic.exe` files built against that commit.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#7