Package: railway-gtk
Version: 2.4.0-1
Severity: serious

railway-gtk FTBFS on i386 (and will probablly FTBFS on other
32-bit architectures but builds on those architectures are
currently blocked by the time64 transition).

error[E0283]: type annotations needed for `std::option::Option<U>`
   --> src/backend/journeys_result.rs:207:17
    |
207 |             let index = list
    |                 ^^^^^
...
215 |                 if position <= index && index < position + n_items {
    |                             -- type must be known at this point
    |
    = note: multiple `impl`s satisfying `u32: PartialOrd<_>` found in the 
following crates: `core`, `glib`:
            - impl PartialOrd for u32;
            - impl PartialOrd<ULong> for u32;
help: consider giving `index` an explicit type, where the placeholders `_` are 
specified
    |
207 |             let index: std::option::Option<U> = list
    |                      ++++++++++++++++++++++++

Looking at the code, I'm pretty confident that the intended type was
Option<u32>. The attached debdiff adds the annotation. I have tested
that railway-gtk builds succesfully with this patch on both i386
and amd64.
diff -Nru railway-gtk-2.4.0/debian/changelog railway-gtk-2.4.0/debian/changelog
--- railway-gtk-2.4.0/debian/changelog  2024-03-04 13:13:51.000000000 +0000
+++ railway-gtk-2.4.0/debian/changelog  2024-03-14 16:10:58.000000000 +0000
@@ -1,3 +1,10 @@
+railway-gtk (2.4.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS with "type annotation needed" error on i386.
+
+ -- Peter Michael Green <plugw...@debian.org>  Thu, 14 Mar 2024 16:10:58 +0000
+
 railway-gtk (2.4.0-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru railway-gtk-2.4.0/debian/patches/add-type-annotation.patch 
railway-gtk-2.4.0/debian/patches/add-type-annotation.patch
--- railway-gtk-2.4.0/debian/patches/add-type-annotation.patch  1970-01-01 
00:00:00.000000000 +0000
+++ railway-gtk-2.4.0/debian/patches/add-type-annotation.patch  2024-03-14 
16:10:58.000000000 +0000
@@ -0,0 +1,13 @@
+Index: railway-gtk-2.4.0/src/backend/journeys_result.rs
+===================================================================
+--- railway-gtk-2.4.0.orig/src/backend/journeys_result.rs
++++ railway-gtk-2.4.0/src/backend/journeys_result.rs
+@@ -204,7 +204,7 @@ mod imp {
+             let list = self.journeys.borrow();
+             let selection = self.selected.borrow();
+ 
+-            let index = list
++            let index: Option<u32> = list
+                 .iter()
+                 .position(|j| {
+                     j.refresh_token() == selection.as_ref().and_then(|j| 
j.refresh_token())
diff -Nru railway-gtk-2.4.0/debian/patches/series 
railway-gtk-2.4.0/debian/patches/series
--- railway-gtk-2.4.0/debian/patches/series     2024-03-04 13:13:51.000000000 
+0000
+++ railway-gtk-2.4.0/debian/patches/series     2024-03-14 16:10:14.000000000 
+0000
@@ -1,3 +1,4 @@
 relax-deps.diff
 disable-cargo-home-meson-build.diff
 build-set-project-name-to-railway-gtk.patch
+add-type-annotation.patch

Reply via email to