[Pkg-rust-maintainers] Bug#1131946: rust-debian-lsp: FTBFS: error[E0432]: unresolved import `tower_lsp_server::ls_types`

Santiago Vila sanvila at debian.org
Thu Mar 26 11:51:14 GMT 2026


Package: src:rust-debian-lsp
Version: 0.1.5-1
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/202603/

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:rust-debian-lsp, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]

error[E0432]: unresolved import `tower_lsp_server::ls_types`
 --> src/watch/selection_range.rs:8:23
  |
8 | use tower_lsp_server::ls_types::{Position, Range, SelectionRange};
  |                       ^^^^^^^^ could not find `ls_types` in `tower_lsp_server`

error[E0277]: the trait bound `PackageStatusNotification: Notification` is not satisfied
   --> src/main.rs:275:18
    |
275 |                 .send_notification::<PackageStatusNotification>(params)
    |                  ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
    |
help: the trait `Notification` is not implemented for `PackageStatusNotification`
   --> src/main.rs:39:1
    |
 39 | enum PackageStatusNotification {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: the following other types implement trait `Notification`:
              DidChangeConfiguration
              DidChangeNotebookDocument
              DidChangeTextDocument
              DidChangeWatchedFiles
              DidChangeWorkspaceFolders
              DidCloseNotebookDocument
              DidCloseTextDocument
              DidCreateFiles
            and 18 others

error[E0277]: the trait bound `PackageStatusNotification: Notification` is not satisfied
   --> src/main.rs:274:13
    |
274 | /             self.client
275 | |                 .send_notification::<PackageStatusNotification>(params)
    | |_______________________________________________________________________^ unsatisfied trait bound
    |
help: the trait `Notification` is not implemented for `PackageStatusNotification`
   --> src/main.rs:39:1
    |
 39 | enum PackageStatusNotification {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: the following other types implement trait `Notification`:
              DidChangeConfiguration
              DidChangeNotebookDocument
              DidChangeTextDocument
              DidChangeWatchedFiles
              DidChangeWorkspaceFolders
              DidCloseNotebookDocument
              DidCloseTextDocument
              DidCreateFiles
            and 18 others
note: required by a bound in `tower_lsp_server::Client::send_notification`
   --> /usr/share/cargo/registry/tower-lsp-server-0.22.1/src/service/client.rs:558:12
    |
556 |     pub async fn send_notification<N>(&self, params: N::Params)
    |                  ----------------- required by a bound in this associated function
557 |     where
558 |         N: lsp_types::notification::Notification,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Client::send_notification`

error[E0277]: the trait bound `PackageStatusNotification: Notification` is not satisfied
   --> src/main.rs:276:18
    |
276 |                 .await;
    |                  ^^^^^ unsatisfied trait bound
    |
help: the trait `Notification` is not implemented for `PackageStatusNotification`
   --> src/main.rs:39:1
    |
 39 | enum PackageStatusNotification {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: the following other types implement trait `Notification`:
              DidChangeConfiguration
              DidChangeNotebookDocument
              DidChangeTextDocument
              DidChangeWatchedFiles
              DidChangeWorkspaceFolders
              DidCloseNotebookDocument
              DidCloseTextDocument
              DidCreateFiles
            and 18 others
note: required by a bound in `tower_lsp_server::Client::send_notification`
   --> /usr/share/cargo/registry/tower-lsp-server-0.22.1/src/service/client.rs:558:12
    |
556 |     pub async fn send_notification<N>(&self, params: N::Params)
    |                  ----------------- required by a bound in this associated function
557 |     where
558 |         N: lsp_types::notification::Notification,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Client::send_notification`

error[E0599]: no method named `to_file_path` found for reference `&tower_lsp_server::lsp_types::Uri` in the current scope
   --> src/main.rs:878:41
    |
878 |         if let Some(control_path) = uri.to_file_path() {
    |                                         ^^^^^^^^^^^^ method not found in `&tower_lsp_server::lsp_types::Uri`
    |
    = help: items from traits can only be used if the trait is in scope
help: trait `UriExt` which provides `to_file_path` is implemented but not in scope; perhaps you want to import it
    |
  6 + use tower_lsp_server::UriExt;
    |

error[E0282]: type annotations needed
   --> src/main.rs:879:39
    |
879 |             if let Some(debian_dir) = control_path.parent() {
    |                                       ^^^^^^^^^^^^ cannot infer type

error[E0599]: no function or associated item named `from_file_path` found for struct `tower_lsp_server::lsp_types::Uri` in the current scope
   --> src/main.rs:891:50
    |
891 |                     let tests_control_uri = Uri::from_file_path(&tests_control_path);
    |                                                  ^^^^^^^^^^^^^^ function or associated item not found in `tower_lsp_server::lsp_types::Uri`
    |
    = help: items from traits can only be used if the trait is in scope
help: there is a method `to_file_path` with a similar name, but with different arguments
   --> /usr/share/cargo/registry/tower-lsp-server-0.22.1/src/uri_ext.rs:72:5
    |
 72 |     fn to_file_path(&self) -> Option<Cow<Path>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: trait `UriExt` which provides `from_file_path` is implemented but not in scope; perhaps you want to import it
    |
  6 + use tower_lsp_server::UriExt;
    |

error[E0599]: no function or associated item named `from_file_path` found for struct `tower_lsp_server::lsp_types::Uri` in the current scope
   --> src/main.rs:903:43
    |
903 |                         let tc_uri = Uri::from_file_path(&tests_control_path)?;
    |                                           ^^^^^^^^^^^^^^ function or associated item not found in `tower_lsp_server::lsp_types::Uri`
    |
    = help: items from traits can only be used if the trait is in scope
help: there is a method `to_file_path` with a similar name, but with different arguments
   --> /usr/share/cargo/registry/tower-lsp-server-0.22.1/src/uri_ext.rs:72:5
    |
 72 |     fn to_file_path(&self) -> Option<Cow<Path>>;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: trait `UriExt` which provides `from_file_path` is implemented but not in scope; perhaps you want to import it
    |
  6 + use tower_lsp_server::UriExt;
    |

error[E0282]: type annotations needed for `(_, _)`
    --> src/main.rs:1327:21
     |
1327 |                 let (lenses, uncached) =
     |                     ^^^^^^^^^^^^^^^^^^
...
1330 |                 if !uncached.is_empty() {
     |                     -------- type must be known at this point
     |
help: consider giving this pattern a type, where the placeholders `_` are specified
     |
1327 |                 let (lenses, uncached): (_, _) =
     |                                       ++++++++

error[E0282]: type annotations needed for `(_, {type error})`
    --> src/main.rs:1327:21
     |
1327 |                 let (lenses, uncached) =
     |                     ^^^^^^^^^^^^^^^^^^
...
1368 |                 if lenses.is_empty() {
     |                    ------ type must be known at this point
     |
help: consider giving this pattern a type, where the placeholders `_` are specified
     |
1327 |                 let (lenses, uncached): (_, _) =
     |                                       ++++++++

error[E0599]: no method named `to_file_path` found for reference `&tower_lsp_server::lsp_types::Uri` in the current scope
    --> src/main.rs:1382:39
     |
1382 |                 let source_root = uri.to_file_path().and_then(|p| {
     |                                       ^^^^^^^^^^^^ method not found in `&tower_lsp_server::lsp_types::Uri`
     |
     = help: items from traits can only be used if the trait is in scope
help: trait `UriExt` which provides `to_file_path` is implemented but not in scope; perhaps you want to import it
     |
   6 + use tower_lsp_server::UriExt;
     |

error[E0282]: type annotations needed
    --> src/main.rs:1382:64
     |
1382 |                 let source_root = uri.to_file_path().and_then(|p| {
     |                                                                ^
1383 |                     p.parent()
     |                     - type must be known at this point
     |
help: consider giving this closure parameter an explicit type
     |
1382 |                 let source_root = uri.to_file_path().and_then(|p: /* Type */| {
     |                                                                 ++++++++++++

error[E0282]: type annotations needed
    --> src/main.rs:1384:36
     |
1384 |                         .and_then(|debian| debian.parent())
     |                                    ^^^^^^  ------ type must be known at this point
     |
help: consider giving this closure parameter an explicit type
     |
1384 |                         .and_then(|debian: /* Type */| debian.parent())
     |                                          ++++++++++++

error[E0282]: type annotations needed
    --> src/main.rs:1385:31
     |
1385 |                         .map(|root| root.to_path_buf())
     |                               ^^^^  ---- type must be known at this point
     |
help: consider giving this closure parameter an explicit type
     |
1385 |                         .map(|root: /* Type */| root.to_path_buf())
     |                                   ++++++++++++

error[E0282]: type annotations needed
    --> src/main.rs:1388:21
     |
1388 |                 let lenses = copyright::generate_code_lenses(
     |                     ^^^^^^
...
1395 |                 if lenses.is_empty() {
     |                    ------ type must be known at this point
     |
help: consider giving `lenses` an explicit type
     |
1388 |                 let lenses: /* Type */ = copyright::generate_code_lenses(
     |                           ++++++++++++

error[E0282]: type annotations needed for `(_, _)`
    --> src/main.rs:1449:21
     |
1449 |                 let (hints, uncached_packages) =
     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
...
1454 |                 if !uncached_packages.is_empty() {
     |                     ----------------- type must be known at this point
     |
help: consider giving this pattern a type, where the placeholders `_` are specified
     |
1449 |                 let (hints, uncached_packages): (_, _) =
     |                                               ++++++++

error[E0282]: type annotations needed for `(_, {type error})`
    --> src/main.rs:1449:21
     |
1449 |                 let (hints, uncached_packages) =
     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
...
1466 |                 if hints.is_empty() {
     |                    ----- type must be known at this point
     |
help: consider giving this pattern a type, where the placeholders `_` are specified
     |
1449 |                 let (hints, uncached_packages): (_, _) =
     |                                               ++++++++

Some errors have detailed explanations: E0277, E0282, E0432, E0433, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `debian-lsp` (bin "debian-lsp") due to 47 previous errors

Caused by:
  process didn't exit successfully: `CARGO=/usr/bin/cargo CA [too-long-redacted] adbbbcc54/out` (exit status: 1)
dh_auto_test: error: /usr/share/cargo/bin/cargo build returned exit code 101
make: *** [debian/rules:3: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the Pkg-rust-maintainers mailing list