rim
rim copied to clipboard
Cannot compile on openSUSE Leap 15.6
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.
yummy