chmln / handlr

A better xdg-utils
MIT License
633 stars 25 forks source link

Compile errors due to breaking changes in Clap 3.0 betas #53

Open Terr opened 3 years ago

Terr commented 3 years ago

When compiling handlr in release mode it fails on some errors related to Clap.

error[E0433]: failed to resolve: could not find `Clap` in `clap`
 --> src/cli.rs:3:16
  |
3 | #[derive(clap::Clap)]
  |                ^^^^ could not find `Clap` in `clap`

error: cannot find attribute `clap` in this scope
 --> src/cli.rs:4:3
  |
4 | #[clap(global_setting = clap::AppSettings::DeriveDisplayOrder)]
  |   ^^^^
  |
  = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
 --> src/cli.rs:5:3
  |
5 | #[clap(global_setting = clap::AppSettings::DisableHelpSubcommand)]
  |   ^^^^
  |
  = note: `clap` is in scope, but it is a crate, not an attribute

... and several more

According to this Clap issue and their changelog there have been some breaking changes.

edit: The actual culprit seems to be clap_derive, an indirect dependency. I can compile handlr successfully when I lock it at beta.2 but not when it's at beta.4 or beta.5 (beta.3 was skipped)