rim icon indicating copy to clipboard operation
rim copied to clipboard

Cannot compile on openSUSE Leap 15.6

Open Chirunos opened this issue 1 year ago • 1 comments

rustc/cargo 1.82

$ cargo install --path .
  Installing rim v0.1.0 (/home/user/rim)
    Updating crates.io index
    Updating git repository `https://github.com/mathall/termkey-rs`
     Locking 65 packages to latest compatible versions
      Adding bitflags v1.3.2 (latest: v2.6.0)
      Adding strsim v0.10.0 (latest: v0.11.1)
      Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.3+wasi-0.2.2)
      Adding windows-sys v0.52.0 (latest: v0.59.0)
      Adding zerocopy v0.7.35 (latest: v0.8.10)
      Adding zerocopy-derive v0.7.35 (latest: v0.8.10)
   Compiling rim v0.1.0 (/home/user/rim)
error[E0204]: the trait `std::marker::Copy` cannot be implemented for this type
  --> src/keymap.rs:16:17
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |                 ^^^^
...
19 |     Fn { num: isize, mods: KeyMod },
   |                      ------------ this field does not implement `std::marker::Copy`
   |
   = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `keymap::KeyMod: Clone` is not satisfied
  --> src/keymap.rs:19:22
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |          ----- in this derive macro expansion
...
19 |     Fn { num: isize, mods: KeyMod },
   |                      ^^^^^^^^^^^^ the trait `Clone` is not implemented for `keymap::KeyMod`
   |
note: required by a bound in `AssertParamIsClone`
  --> /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/clone.rs:198:1
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(Clone)]`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
   |
17 +         #[derive(Clone)]
18 |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
   |

error[E0277]: the trait bound `keymap::KeyMod: std::cmp::Eq` is not satisfied
  --> src/keymap.rs:19:22
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |                       -- in this derive macro expansion
...
19 |     Fn { num: isize, mods: KeyMod },
   |                      ^^^^^^^^^^^^ the trait `std::cmp::Eq` is not implemented for `keymap::KeyMod`
   |
note: required by a bound in `AssertParamIsEq`
  --> /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/cmp.rs:358:1
   = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(Eq)]`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
   |
17 +         #[derive(Eq)]
18 |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
   |

error[E0277]: the trait bound `keymap::KeyMod: Hash` is not satisfied
  --> src/keymap.rs:19:22
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |                           ---- in this derive macro expansion
...
19 |     Fn { num: isize, mods: KeyMod },
   |                      ^^^^^^^^^^^^ the trait `Hash` is not implemented for `keymap::KeyMod`
   |
   = note: this error originates in the derive macro `Hash` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(Hash)]`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
   |
17 +         #[derive(Hash)]
18 |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
   |

error[E0277]: the trait bound `keymap::KeyMod: Hash` is not satisfied
  --> src/keymap.rs:20:24
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |                           ---- in this derive macro expansion
...
20 |     Sym { sym: KeySym, mods: KeyMod },
   |                        ^^^^^^^^^^^^ the trait `Hash` is not implemented for `keymap::KeyMod`
   |
   = note: this error originates in the derive macro `Hash` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(Hash)]`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
   |
17 +         #[derive(Hash)]
18 |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
   |

error[E0277]: the trait bound `keymap::KeyMod: Hash` is not satisfied
  --> src/keymap.rs:21:32
   |
16 | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
   |                           ---- in this derive macro expansion
...
21 |     Unicode { codepoint: char, mods: KeyMod },
   |                                ^^^^^^^^^^^^ the trait `Hash` is not implemented for `keymap::KeyMod`
   |
   = note: this error originates in the derive macro `Hash` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(Hash)]`
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
   |
17 +         #[derive(Hash)]
18 |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
   |

error[E0369]: binary operation `==` cannot be applied to type `&keymap::KeyMod`
   --> src/keymap.rs:19:22
    |
16  | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
    |                                 --------- in this derive macro expansion
...
19  |     Fn { num: isize, mods: KeyMod },
    |                      ^^^^^^^^^^^^
    |
note: an implementation of `PartialEq` might be missing for `keymap::KeyMod`
   --> src/keymap.rs:103:1
    |
103 | / bitflags::bitflags! {
104 | |     pub struct KeyMod: u8 {
105 | |         const MOD_NONE  = 0;
106 | |         const MOD_SHIFT = 1 << 0;
...   |
109 | |     }
110 | | }
    | |_^ must implement `PartialEq`
    = note: this error originates in the derive macro `PartialEq` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(PartialEq)]`
   --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
    |
17  +         #[derive(PartialEq)]
18  |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
    |

error[E0369]: binary operation `==` cannot be applied to type `&keymap::KeyMod`
   --> src/keymap.rs:20:24
    |
16  | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
    |                                 --------- in this derive macro expansion
...
20  |     Sym { sym: KeySym, mods: KeyMod },
    |                        ^^^^^^^^^^^^
    |
note: an implementation of `PartialEq` might be missing for `keymap::KeyMod`
   --> src/keymap.rs:103:1
    |
103 | / bitflags::bitflags! {
104 | |     pub struct KeyMod: u8 {
105 | |         const MOD_NONE  = 0;
106 | |         const MOD_SHIFT = 1 << 0;
...   |
109 | |     }
110 | | }
    | |_^ must implement `PartialEq`
    = note: this error originates in the derive macro `PartialEq` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(PartialEq)]`
   --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
    |
17  +         #[derive(PartialEq)]
18  |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
    |

error[E0369]: binary operation `==` cannot be applied to type `&keymap::KeyMod`
   --> src/keymap.rs:21:32
    |
16  | #[derive(Clone, Copy, Eq, Hash, PartialEq)]
    |                                 --------- in this derive macro expansion
...
21  |     Unicode { codepoint: char, mods: KeyMod },
    |                                ^^^^^^^^^^^^
    |
note: an implementation of `PartialEq` might be missing for `keymap::KeyMod`
   --> src/keymap.rs:103:1
    |
103 | / bitflags::bitflags! {
104 | |     pub struct KeyMod: u8 {
105 | |         const MOD_NONE  = 0;
106 | |         const MOD_SHIFT = 1 << 0;
...   |
109 | |     }
110 | | }
    | |_^ must implement `PartialEq`
    = note: this error originates in the derive macro `PartialEq` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `keymap::KeyMod` with `#[derive(PartialEq)]`
   --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/public.rs:17:9
    |
17  +         #[derive(PartialEq)]
18  |         $vis struct $PublicBitFlags(<$PublicBitFlags as $crate::__private::PublicFlags>::Internal);
    |

Some errors have detailed explanations: E0204, E0277, E0369.
For more information about an error, try `rustc --explain E0204`.
error: could not compile `rim` (bin "rim") due to 9 previous errors
error: failed to compile `rim v0.1.0 (/home/user/rim)`, intermediate artifacts can be found at `/home/user/rim/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Chirunos avatar Nov 19 '24 03:11 Chirunos

yummy

jjj333-p avatar Nov 19 '24 10:11 jjj333-p