Bug#1124149: bustle: FTBFS: error[E0308]: mismatched types

Santiago Vila sanvila at debian.org
Sun Dec 28 18:25:07 GMT 2025


Package: src:bustle
Version: 0.13.0-2
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:bustle, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   debian/rules execute_after_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf debian/cargo_registry
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/share/cargo/bin/cargo prepare-debian debian/cargo_registry --link-from-system
debian cargo wrapper: options = ['parallel=2'], profiles = [], parallel = ['-j2'], lto = 

[... snipped ...]

1 | use crate::{prelude::*, MessageDialog};
  |                         ^^^^^^^^^^^^^

warning: use of deprecated struct `auto::message_dialog::MessageDialog`: Since 1.6
 --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/message_dialog.rs:6:67
  |
6 |     gtk::subclass::prelude::WindowImpl + ObjectSubclass<Type: IsA<MessageDialog>>
  |                                                                   ^^^^^^^^^^^^^

warning: use of deprecated struct `auto::message_dialog::MessageDialog`: Since 1.6
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/message_dialog.rs:33:57
   |
33 | unsafe impl<T: MessageDialogImpl> IsSubclassable<T> for MessageDialog {
   |                                                         ^^^^^^^^^^^^^

warning: use of deprecated struct `auto::message_dialog::MessageDialog`: Since 1.6
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/message_dialog.rs:21:44
   |
21 |                         .unsafe_cast_ref::<MessageDialog>()
   |                                            ^^^^^^^^^^^^^

warning: use of deprecated struct `auto::preferences_window::PreferencesWindow`: Since 1.6
 --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/preferences_window.rs:2:12
  |
2 | use crate::PreferencesWindow;
  |            ^^^^^^^^^^^^^^^^^

warning: use of deprecated struct `auto::preferences_window::PreferencesWindow`: Since 1.6
 --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/preferences_window.rs:7:46
  |
7 |     AdwWindowImpl + ObjectSubclass<Type: IsA<PreferencesWindow>>
  |                                              ^^^^^^^^^^^^^^^^^

warning: use of deprecated struct `auto::preferences_window::PreferencesWindow`: Since 1.6
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/subclass/preferences_window.rs:11:61
   |
11 | unsafe impl<T: PreferencesWindowImpl> IsSubclassable<T> for PreferencesWindow {}
   |                                                             ^^^^^^^^^^^^^^^^^

warning: use of deprecated method `auto::message_dialog::MessageDialogExt::has_response`: Since 1.6
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/message_dialog.rs:23:31
   |
23 |         assert!(self.as_ref().has_response(response));
   |                               ^^^^^^^^^^^^

warning: use of deprecated method `auto::message_dialog::MessageDialogExt::add_response`: Since 1.6
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/message_dialog.rs:36:18
   |
36 |             self.add_response(id, label);
   |                  ^^^^^^^^^^^^

   Compiling tracing-subscriber v0.3.20
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=tracing_subscriber CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>>/debian/cargo_registry/tracing-subscriber-0.3.20 CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/debian/cargo_registry/tracing-subscriber-0.3.20/Cargo.toml CARGO_PKG_AUTHORS='Eliza Weisman <eliza at buoyant.io>:David Barsky <me at davidbarsky.com>:Tokio Contributors <team at tokio.rs>' CARGO_PKG_DESCRIPTION='Utilities for implementing and composing `tracing` subscribers.
' CARGO_PKG_HOMEPAGE='https://tokio.rs' CARGO_PKG_LICENSE=MI [too-long-redacted] stry=/usr/share/cargo/registry`
   Compiling gettext-rs v0.7.7
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=gettextr [too-long-redacted] stry=/usr/share/cargo/registry`
warning: `libadwaita` (lib) generated 32 warnings
   Compiling pcap-file v2.0.0
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=pcap_fil [too-long-redacted] stry=/usr/share/cargo/registry`
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=anyhow C [too-long-redacted] check-cfg 'cfg(std_backtrace)'`
warning: trait `RuntimeByteorder` is never used
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/common.rs:58:18
   |
58 | pub(crate) trait RuntimeByteorder: ByteOrder {
   |                  ^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcap/reader.rs:59:24
   |
59 |     pub fn next_packet(&mut self) -> Option<Result<PcapPacket, PcapError>> {
   |                        ^^^^^^^^^                   ^^^^^^^^^^ the same lifetime is hidden here
   |                        |
   |                        the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
59 |     pub fn next_packet(&mut self) -> Option<Result<PcapPacket<'_>, PcapError>> {
   |                                                              ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcap/reader.rs:74:28
   |
74 |     pub fn next_raw_packet(&mut self) -> Option<Result<RawPcapPacket, PcapError>> {
   |                            ^^^^^^^^^                   ^^^^^^^^^^^^^ the same lifetime is hidden here
   |                            |
   |                            the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
74 |     pub fn next_raw_packet(&mut self) -> Option<Result<RawPcapPacket<'_>, PcapError>> {
   |                                                                     ++++

warning: eliding a lifetime that's named elsewhere is confusing
   --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/blocks/block_common.rs:323:61
    |
323 |     fn from_slice<B: ByteOrder>(slice: &'a [u8]) -> Result<(&[u8], Self), PcapError>
    |                                         --                  ^^^^^ the same lifetime is elided here
    |                                         |
    |                                         the lifetime is named here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: consistently use `'a`
    |
323 |     fn from_slice<B: ByteOrder>(slice: &'a [u8]) -> Result<(&'a [u8], Self), PcapError>
    |                                                              ++

warning: eliding a lifetime that's named elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/blocks/interface_statistics.rs:36:65
   |
36 |     fn from_slice<B: ByteOrder>(mut slice: &'a [u8]) -> Result<(&[u8], Self), PcapError> {
   |                                             --                  ^^^^^ the same lifetime is elided here
   |                                             |
   |                                             the lifetime is named here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: consistently use `'a`
   |
36 |     fn from_slice<B: ByteOrder>(mut slice: &'a [u8]) -> Result<(&'a [u8], Self), PcapError> {
   |                                                                  ++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/blocks/section_header.rs:64:49
   |
64 |         fn parse_inner<B: ByteOrder>(mut slice: &[u8]) -> Result<(&[u8], u16, u16, i64, Vec<SectionHeaderOption>), PcapError> {
   |                                                 ^^^^^             ^^^^^                     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
   |                                                 |                 |
   |                                                 |                 the same lifetime is elided here
   |                                                 the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
64 |         fn parse_inner<B: ByteOrder>(mut slice: &[u8]) -> Result<(&[u8], u16, u16, i64, Vec<SectionHeaderOption<'_>>), PcapError> {
   |                                                                                                                ++++

warning: eliding a lifetime that's named elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/blocks/unknown.rs:32:62
   |
32 |     fn from_slice<B: ByteOrder>(_slice: &'a [u8]) -> Result<(&[u8], Self), PcapError>
   |                                          --                  ^^^^^ the same lifetime is elided here
   |                                          |
   |                                          the lifetime is named here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: consistently use `'a`
   |
32 |     fn from_slice<B: ByteOrder>(_slice: &'a [u8]) -> Result<(&'a [u8], Self), PcapError>
   |                                                               ++

warning: hiding a lifetime that's elided elsewhere is confusing
   --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/parser.rs:124:29
    |
124 |     pub fn packet_interface(&self, packet: &EnhancedPacketBlock) -> Option<&InterfaceDescriptionBlock> {
    |                             ^^^^^                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |                             |                                              ||
    |                             |                                              |the same lifetime is hidden here
    |                             the lifetime is elided here                    the same lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
    |
124 |     pub fn packet_interface(&self, packet: &EnhancedPacketBlock) -> Option<&InterfaceDescriptionBlock<'_>> {
    |                                                                                                      ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/reader.rs:47:23
   |
47 |     pub fn next_block(&mut self) -> Option<Result<Block, PcapError>> {
   |                       ^^^^^^^^^                   ^^^^^ the same lifetime is hidden here
   |                       |
   |                       the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
47 |     pub fn next_block(&mut self) -> Option<Result<Block<'_>, PcapError>> {
   |                                                        ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/reader.rs:62:27
   |
62 |     pub fn next_raw_block(&mut self) -> Option<Result<RawBlock, PcapError>> {
   |                           ^^^^^^^^^                   ^^^^^^^^ the same lifetime is hidden here
   |                           |
   |                           the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
62 |     pub fn next_raw_block(&mut self) -> Option<Result<RawBlock<'_>, PcapError>> {
   |                                                               ++++

warning: hiding a lifetime that's elided elsewhere is confusing
  --> /usr/share/cargo/registry/pcap-file-2.0.0/src/pcapng/reader.rs:87:29
   |
87 |     pub fn packet_interface(&self, packet: &EnhancedPacketBlock) -> Option<&InterfaceDescriptionBlock> {
   |                             ^^^^^                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |                             |                                              ||
   |                             |                                              |the same lifetime is hidden here
   |                             the lifetime is elided here                    the same lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
help: use `'_` for type paths
   |
87 |     pub fn packet_interface(&self, packet: &EnhancedPacketBlock) -> Option<&InterfaceDescriptionBlock<'_>> {
   |                                                                                                      ++++

   Compiling shell-escape v0.1.5
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=shell_es [too-long-redacted] stry=/usr/share/cargo/registry`
warning: `...` range patterns are deprecated
  --> /usr/share/cargo/registry/shell-escape-0.1.5/src/lib.rs:95:16
   |
95 |             'a'...'z' | 'A'...'Z' | '0'...'9' | '-' | '_' | '=' | '/' | ',' | '.' | '+' => false,
   |                ^^^ help: use `..=` for an inclusive range
   |
   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
   = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default

warning: `...` range patterns are deprecated
  --> /usr/share/cargo/registry/shell-escape-0.1.5/src/lib.rs:95:28
   |
95 |             'a'...'z' | 'A'...'Z' | '0'...'9' | '-' | '_' | '=' | '/' | ',' | '.' | '+' => false,
   |                            ^^^ help: use `..=` for an inclusive range
   |
   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>

warning: `...` range patterns are deprecated
  --> /usr/share/cargo/registry/shell-escape-0.1.5/src/lib.rs:95:40
   |
95 |             'a'...'z' | 'A'...'Z' | '0'...'9' | '-' | '_' | '=' | '/' | ',' | '.' | '+' => false,
   |                                        ^^^ help: use `..=` for an inclusive range
   |
   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>

warning: `shell-escape` (lib) generated 3 warnings
warning: `pcap-file` (lib) generated 11 warnings
   Compiling bustle v0.10.0 (/<<PKGBUILDDIR>>)
     Running `CARGO=/usr/bin/cargo CARGO_BIN_NAME=bustle CAR [too-long-redacted] stry=/usr/share/cargo/registry`
error[E0308]: mismatched types
  --> src/address_dialog.rs:58:34
   |
58 |         match this.choose_future(parent).await.as_str() {
   |                    ------------- ^^^^^^ expected `Option<&_>`, found `&impl IsA<gtk::Widget>`
   |                    |
   |                    arguments to this method are incorrect
   |
   = note:   expected enum `std::option::Option<&_>`
           found reference `&impl IsA<gtk::Widget>`
note: method defined here
  --> /usr/share/cargo/registry/libadwaita-0.8.1/src/alert_dialog.rs:83:8
   |
83 |     fn choose_future(
   |        ^^^^^^^^^^^^^
help: try wrapping the expression in `Some`
   |
58 |         match this.choose_future(Some(parent)).await.as_str() {
   |                                  +++++      +

For more information about this error, try `rustc --explain E0308`.
error: could not compile `bustle` (bin "bustle") due to 1 previous error

Caused by:
  process didn't exit successfully: `CARGO=/usr/bin/cargo CA [too-long-redacted] argo/registry` (exit status: 1)
[21/22] /usr/bin/msgfmt -o po/zh_CN/LC_MESSAGES/bustle.mo ../po/zh_CN.po
FAILED: [code=101] src/bustle 
/usr/bin/env /usr/share/cargo/bin/cargo build --manifest-path /<<PKGBUILDDIR>>/Cargo.toml --target-dir /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src --release && cp src/x86_64-unknown-linux-gnu/release/bustle src/bustle
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j2 -v returned exit code 101
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the pkg-gnome-maintainers mailing list