Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile on openSUSE Leap 15.6 #19

Open
Chirunos opened this issue Nov 19, 2024 · 1 comment
Open

Cannot compile on openSUSE Leap 15.6 #19

Chirunos opened this issue Nov 19, 2024 · 1 comment

Comments

@Chirunos
Copy link

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.
@jjj333-p
Copy link

yummy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants