Smithay / wayland-rs

Rust implementation of the wayland protocol (client and server).
MIT License
1.09k stars 124 forks source link

A lot of "the parameter type `D` may not live long enough" errors #503

Closed ArtemkaKun closed 2 years ago

ArtemkaKun commented 2 years ago

Hi, I'm trying to build the https://github.com/sameer/sway-video-idle-inhibit from AUR (clean install, no rust/cargo stuff was installed before in my system) and have build errors related to these crates (related issue https://github.com/sameer/sway-video-idle-inhibit/issues/1).

Errors

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:81:14
   |
62 | impl<D> Client<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
81 |         data.initialized(ClientId { id: id.clone() });
   |              ^^^^^^^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
   |
99 | pub trait ClientData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:312:19
    |
62  | impl<D> Client<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
312 |         self.data.disconnected(ClientId { id: self.id.clone() }, reason);
    |                   ^^^^^^^^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
    |
99  | pub trait ClientData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:384:32
    |
62  | impl<D> Client<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
384 |             obj.data.user_data.destroyed(
    |                                ^^^^^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:254:61
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
254 |                     let ret = object.data.user_data.clone().request(
    |                                                             ^^^^^^^ ...so that the type `dyn rs::server::ObjectData<D>` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:265:47
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
265 |                         object.data.user_data.destroyed(
    |                                               ^^^^^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:308:46
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
308 |                     let child_data = handler.bind(
    |                                              ^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/handle.rs:38:25
   |
22 | impl<D> InnerHandle<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
38 |             object_data.destroyed(data, ClientId { id: client_id }, ObjectId { id: object_id });
   |                         ^^^^^^^^^ ...so that the type `dyn rs::server::ObjectData<D>` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
   |
20 | pub trait ObjectData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:119:35
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
119 |         if !target_global.handler.can_view(
    |                                   ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:182:35
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
182 |                 && global.handler.can_view(
    |                                   ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:207:39
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
207 |                     && global.handler.can_view(
    |                                       ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:47:14
   |
45 | impl<D> std::fmt::Debug for dyn ObjectData<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
46 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
47 |         self.debug(f)
   |              ^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
   |
20 | pub trait ObjectData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:92:14
   |
90 | impl<D> std::fmt::Debug for dyn GlobalHandler<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
91 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
92 |         self.debug(f)
   |              ^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
   |
52 | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:116:14
    |
114 | impl<D> std::fmt::Debug for dyn ClientData<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
115 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
116 |         self.debug(f)
    |              ^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
    |
99  | pub trait ClientData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0310`.
error: could not compile `wayland-backend` due to 13 previous errors

Full build log

 ╭─yuart@yuart in ~ as 🧙 took 2s
 ╰─λ yay -S sway-video-idle-inhibit
:: Resolving dependencies...

:: There are 2 providers available for cargo:
:: Repository extra:
    1) rust
:: Repository community:
    2) rustup
Enter a number (default=1):
:: Calculating conflicts...
:: Calculating inner conflicts...

Repo Make (1) rust-1:1.61.0-1
Aur (1) sway-video-idle-inhibit-0.1.1-1

:: Proceed to review? [Y/n]: y

:: Downloading PKGBUILDs...
 (1/1) sway-video-idle-inhibit-0.1.1-1               [------------------------------------------------------------------------]
/home/yuart/.cache/paru/clone/sway-video-idle-inhibit/.gitignore
*.tar.*
pkg
src

/home/yuart/.cache/paru/clone/sway-video-idle-inhibit/PKGBUILD
# Maintainer: Sameer Puri <aur@purisa.me>
pkgname=sway-video-idle-inhibit
pkgver=0.1.1
pkgrel=1
pkgdesc='Sway Idle Inhibitor using open video devices as a signal'
url="https://github.com/sameer/$pkgname"
source=("$pkgname-$pkgver.tar.gz::https://github.com/sameer/sway-video-idle-inhibit/archive/refs/tags/$pkgver.tar.gz")
arch=('i686' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64')
license=('MIT' 'APACHE')
makedepends=('git' 'cargo' 'wayland' 'wayland-protocols')
depends=('wayland')
optdepends=('swayidle: Idle management daemon')
b2sums=('SKIP')

build () {
  cd "$srcdir/$pkgname-$pkgver"

  if [[ $CARCH != x86_64 ]]; then
    export CARGO_PROFILE_RELEASE_LTO=off
  fi

  cargo build --locked --release --target-dir target
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  install -Dm755 target/release/$pkgname "${pkgdir}/usr/bin/$pkgname"
}

:: Proceed with installation? [Y/n]: y
resolving dependencies...
looking for conflicting packages...

Packages (1) rust-1:1.61.0-1

Total Download Size:    90,72 MiB
Total Installed Size:  521,97 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 rust-1:1.61.0-1-x86_64                           90,7 MiB  31,9 MiB/s 00:03 [--------------------------------------------] 100%
(1/1) checking keys in keyring                                               [--------------------------------------------] 100%
(1/1) checking package integrity                                             [--------------------------------------------] 100%
(1/1) loading package files                                                  [--------------------------------------------] 100%
(1/1) checking for file conflicts                                            [--------------------------------------------] 100%
(1/1) checking available disk space                                          [--------------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 117
:: Processing package changes...
(1/1) installing rust                                                        [--------------------------------------------] 100%
Optional dependencies for rust
    lldb: rust-lldb script
    gdb: rust-gdb script
:: Running post-transaction hooks...
(1/6) Arming ConditionNeedsUpdate...
(2/6) Foreign/AUR package notification
=> No foreign/AUR packages found.
(3/6) Orphaned package notification...
=> No orphans found.
(4/6) Checking for .pacnew and .pacsave files...
(5/6) Performing snapper post snapshots for the following configurations...
==> root: 118
(6/6) Syncing all file systems...
fetching devel info...
==> Making package: sway-video-idle-inhibit 0.1.1-1 (nie, 19 cze 2022, 10:15:45)
==> Retrieving sources...
  -> Downloading sway-video-idle-inhibit-0.1.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5850    0  5850    0     0  11561      0 --:--:-- --:--:-- --:--:-- 11561
==> Validating source files with b2sums...
    sway-video-idle-inhibit-0.1.1.tar.gz ... Skipped
==> Making package: sway-video-idle-inhibit 0.1.1-1 (nie, 19 cze 2022, 10:15:47)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found sway-video-idle-inhibit-0.1.1.tar.gz
==> Validating source files with b2sums...
    sway-video-idle-inhibit-0.1.1.tar.gz ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting sway-video-idle-inhibit-0.1.1.tar.gz with bsdtar
==> Sources are ready.
sway-video-idle-inhibit-0.1.1-1: parsing pkg list...
==> Making package: sway-video-idle-inhibit 0.1.1-1 (nie, 19 cze 2022, 10:15:50)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
    Updating crates.io index
    Updating git repository `https://github.com/Smithay/wayland-rs.git`
    Updating git submodule `https://gitlab.freedesktop.org/wayland/wayland-protocols.git`
    Updating git submodule `https://gitlab.freedesktop.org/wlroots/wlr-protocols.git`
  Downloaded cc v1.0.73
  Downloaded memoffset v0.6.5
  Downloaded smallvec v1.8.0
  Downloaded thiserror v1.0.30
  Downloaded thiserror-impl v1.0.30
  Downloaded socket2 v0.4.4
  Downloaded pin-project-lite v0.2.8
  Downloaded unicode-xid v0.2.2
  Downloaded autocfg v1.1.0
  Downloaded bitflags v1.3.2
  Downloaded futures-channel v0.3.21
  Downloaded scoped-tls v1.0.0
  Downloaded inotify v0.10.0
  Downloaded inotify-sys v0.1.5
  Downloaded cfg-if v1.0.0
  Downloaded dlib v0.5.0
  Downloaded downcast-rs v1.2.0
  Downloaded futures-core v0.3.21
  Downloaded libloading v0.7.3
  Downloaded log v0.4.14
  Downloaded proc-macro2 v1.0.36
  Downloaded xml-rs v0.8.4
  Downloaded nix v0.23.1
  Downloaded syn v1.0.89
  Downloaded pkg-config v0.3.24
  Downloaded quote v1.0.16
  Downloaded mio v0.8.2
  Downloaded libc v0.2.121
  Downloaded tokio v1.17.0
  Downloaded 29 crates (2.3 MB) in 0.61s
   Compiling libc v0.2.121
   Compiling cfg-if v1.0.0
   Compiling proc-macro2 v1.0.36
   Compiling log v0.4.14
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.89
   Compiling autocfg v1.1.0
   Compiling pkg-config v0.3.24
   Compiling futures-core v0.3.21
   Compiling cc v1.0.73
   Compiling bitflags v1.3.2
   Compiling futures-channel v0.3.21
   Compiling smallvec v1.8.0
   Compiling downcast-rs v1.2.0
   Compiling scoped-tls v1.0.0
   Compiling xml-rs v0.8.4
   Compiling pin-project-lite v0.2.8
   Compiling libloading v0.7.3
   Compiling dlib v0.5.0
   Compiling memoffset v0.6.5
   Compiling wayland-sys v0.30.0-alpha6 (https://github.com/Smithay/wayland-rs.git#83f2d168)
   Compiling quote v1.0.16
   Compiling wayland-backend v0.1.0-alpha6 (https://github.com/Smithay/wayland-rs.git#83f2d168)
   Compiling nix v0.23.1
   Compiling socket2 v0.4.4
   Compiling mio v0.8.2
   Compiling inotify-sys v0.1.5
   Compiling tokio v1.17.0
   Compiling thiserror-impl v1.0.30
   Compiling wayland-scanner v0.30.0-alpha6 (https://github.com/Smithay/wayland-rs.git#83f2d168)
   Compiling inotify v0.10.0
   Compiling thiserror v1.0.30
error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:81:14
   |
62 | impl<D> Client<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
81 |         data.initialized(ClientId { id: id.clone() });
   |              ^^^^^^^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
   |
99 | pub trait ClientData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:312:19
    |
62  | impl<D> Client<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
312 |         self.data.disconnected(ClientId { id: self.id.clone() }, reason);
    |                   ^^^^^^^^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
    |
99  | pub trait ClientData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/client.rs:384:32
    |
62  | impl<D> Client<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
384 |             obj.data.user_data.destroyed(
    |                                ^^^^^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:254:61
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
254 |                     let ret = object.data.user_data.clone().request(
    |                                                             ^^^^^^^ ...so that the type `dyn rs::server::ObjectData<D>` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:265:47
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
265 |                         object.data.user_data.destroyed(
    |                                               ^^^^^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
    |
20  | pub trait ObjectData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/common_poll.rs:308:46
    |
40  | impl<D> InnerBackend<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
308 |                     let child_data = handler.bind(
    |                                              ^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/handle.rs:38:25
   |
22 | impl<D> InnerHandle<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
38 |             object_data.destroyed(data, ClientId { id: client_id }, ObjectId { id: object_id });
   |                         ^^^^^^^^^ ...so that the type `dyn rs::server::ObjectData<D>` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
   |
20 | pub trait ObjectData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:119:35
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
119 |         if !target_global.handler.can_view(
    |                                   ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:182:35
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
182 |                 && global.handler.can_view(
    |                                   ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/server_impl/registry.rs:207:39
    |
36  | impl<D> Registry<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
...
207 |                     && global.handler.can_view(
    |                                       ^^^^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
    |
52  | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:47:14
   |
45 | impl<D> std::fmt::Debug for dyn ObjectData<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
46 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
47 |         self.debug(f)
   |              ^^^^^ ...so that the type `(dyn rs::server::ObjectData<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:20:26
   |
20 | pub trait ObjectData<D>: downcast_rs::DowncastSync {
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:92:14
   |
90 | impl<D> std::fmt::Debug for dyn GlobalHandler<D> {
   |      - help: consider adding an explicit lifetime bound...: `D: 'static`
91 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
92 |         self.debug(f)
   |              ^^^^^ ...so that the type `(dyn rs::server::GlobalHandler<D> + 'static)` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:52:29
   |
52 | pub trait GlobalHandler<D>: downcast_rs::DowncastSync {
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `D` may not live long enough
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:116:14
    |
114 | impl<D> std::fmt::Debug for dyn ClientData<D> {
    |      - help: consider adding an explicit lifetime bound...: `D: 'static`
115 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
116 |         self.debug(f)
    |              ^^^^^ ...so that the type `(dyn rs::server::ClientData<D> + 'static)` will meet its required lifetime bounds...
    |
note: ...that is required by this bound
   --> /home/yuart/.cargo/git/checkouts/wayland-rs-35754980d5c97629/83f2d16/wayland-backend/src/rs/../server_api.rs:99:26
    |
99  | pub trait ClientData<D>: downcast_rs::DowncastSync {
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0310`.
error: could not compile `wayland-backend` due to 13 previous errors
warning: build failed, waiting for other jobs to finish...
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'sway-video-idle-inhibit-0.1.1-1':
error: packages failed to build: sway-video-idle-inhibit-0.1.1-1

System

System:
  Kernel: 5.18.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=12684c8f-c722-4785-881f-2337b518468a rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3
  Desktop: sway v: 1.7 info: waybar vt: 1 dm: greetd Distro: Garuda Linux
    base: Arch Linux
i509VCB commented 2 years ago

Could you update to 0.30.0-beta.4?

The build log appears to show you are using alpha 6 still

ArtemkaKun commented 2 years ago

Related problem closed, thank you