#1141211 matrix-synapse: FTBFS: error[E0407]: method `write_to_string` is not a member of trait `writeable::Writeable`

#1141211#5
Date:
2026-07-01 11:32:28 UTC
From:
To:
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/202607/

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

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

help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:379:9
    |
379 |         writeable::impl_display_with_writeable!($type);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/unicode/keywords.rs:407:1
    |
407 | impl_writeable_for_key_value!(Keywords, "ca", "islamic-civil", "mm", "mm");
    | -------------------------------------------------------------------------- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_writeable_for_key_value` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/unicode/subdivision.rs:10:1
    |
 10 | / impl_tinystr_subtag!(
 11 | |     /// A subdivision suffix used in [`SubdivisionId`].
 12 | |     ///
 13 | |     /// This suffix represents a specific subdivision code under a given [`Region`].
...   |
 46 | |     ["toolooong"],
 47 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/unicode/subdivision.rs:154:1
    |
154 | writeable::impl_display_with_writeable!(SubdivisionId);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:379:9
    |
379 |         writeable::impl_display_with_writeable!($type);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/unicode/value.rs:318:1
    |
318 | impl_writeable_for_subtag_list!(Value, "islamic", "civil");
    | ---------------------------------------------------------- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_writeable_for_subtag_list` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/unicode/mod.rs:225:1
    |
225 | writeable::impl_display_with_writeable!(Unicode);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:379:9
    |
379 |         writeable::impl_display_with_writeable!($type);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/extensions/mod.rs:364:1
    |
364 | impl_writeable_for_each_subtag_str_no_test!(Extensions);
    | ------------------------------------------------------- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_writeable_for_each_subtag_str_no_test` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/language.rs:5:1
    |
  5 | / impl_tinystr_subtag!(
  6 | |     /// A language subtag (examples: `"en"`, `"csb"`, `"zh"`, `"und"`, etc.)
  7 | |     ///
  8 | |     /// [`Language`] represents a Unicode base language code conformant to the
...   |
 47 | |     ["419", "german", "en1"],
 48 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/region.rs:5:1
    |
  5 | / impl_tinystr_subtag!(
  6 | |     /// A region subtag (examples: `"US"`, `"CN"`, `"AR"` etc.)
  7 | |     ///
  8 | |     /// [`Region`] represents a Unicode base language code conformant to the
...   |
 44 | |     ["12", "FRA", "b2"],
 45 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/script.rs:7:1
    |
  7 | / impl_tinystr_subtag!(
  8 | |     /// A script subtag (examples: `"Latn"`, `"Arab"`, etc.)
  9 | |     ///
 10 | |     /// [`Script`] represents a Unicode base language code conformant to the
...   |
 34 | |     ["Latin"],
 35 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/variant.rs:5:1
    |
  5 | / impl_tinystr_subtag!(
  6 | |     /// A variant subtag (examples: `"macos"`, `"posix"`, `"1996"` etc.)
  7 | |     ///
  8 | |     /// [`Variant`] represents a Unicode base language code conformant to the
...   |
 34 | |     ["yes"],
 35 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:379:9
    |
379 |         writeable::impl_display_with_writeable!($type);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/variants.rs:128:1
    |
128 | impl_writeable_for_subtag_list!(Variants, "macos", "posix");
    | ----------------------------------------------------------- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_writeable_for_subtag_list` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

error[E0782]: expected a type, found a trait
   --> /usr/share/cargo/registry/icu_locale_core-2.0.0/src/helpers.rs:167:9
    |
167 |           writeable::impl_display_with_writeable!($name);
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
   ::: /usr/share/cargo/registry/icu_locale_core-2.0.0/src/subtags/mod.rs:64:1
    |
 64 | / impl_tinystr_subtag!(
 65 | |     /// A generic subtag.
 66 | |     ///
 67 | |     /// The subtag has to be an ASCII alphanumerical string no shorter than
...   |
 91 | |     ["f", "toolooong"],
 92 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `writeable::impl_display_with_writeable` which comes from the expansion of the macro `impl_tinystr_subtag` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you may have misspelled this associated item, causing `Writeable` to be interpreted as a type rather than a trait
   --> /usr/share/cargo/registry/writeable-0.6.3/src/lib.rs:398:36
    |
398 -                 $crate::Writeable::write_to_string(self).into_owned()
398 +                 $crate::Writeable::write_to_parts(self).into_owned()
    |

Some errors have detailed explanations: E0407, E0425, E0599, E0782.
For more information about an error, try `rustc --explain E0407`.
error: could not compile `icu_locale_core` (lib) due to 73 previous errors

Caused by:
  process didn't exit successfully: `CARGO=/usr/bin/cargo CA [too-long-redacted] argo/registry` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/usr/bin/python3.14" PYTHON_SYS_EXECUTABLE="/usr/bin/python3.14" "/usr/share/cargo/bin/cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/<<PKGBUILDDIR>>/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/bin/python3.14', '--compatibility', 'off'] returned non-zero exit status 1

ERROR Backend subprocess exited when trying to invoke build_wheel
E: pybuild pybuild:485: build: plugin pyproject failed with: exit code=1: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_matrix-synapse
dh_auto_build: error: pybuild --build -i python{version} -p "3.13 3.14" --parallel=2 returned exit code 13
make: *** [debian/rules:40: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1141211#10
Date:
2026-09-08 04:34:12 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
matrix-synapse, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1141211@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Antonio Enrico Russo <aerusso@aerusso.net> (supplier of updated matrix-synapse package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 06 Sep 2026 10:30:49 -0600
Source: matrix-synapse
Architecture: source
Version: 1.160.0-1
Distribution: unstable
Urgency: medium
Maintainer: Matrix Packaging Team <pkg-matrix-maintainers@lists.alioth.debian.org>
Changed-By: Antonio Enrico Russo <aerusso@aerusso.net>
Closes: 1141211
Changes:
 matrix-synapse (1.160.0-1) unstable; urgency=medium
 .
   * New upstream release.
   * Fix FTBS (Closes: #1141211)
   * Make vendorlibs optional
   * Use dh-cargo:Static-Built-Using
   * Rely on local images
   * INSTALL.md is Debian-relevant
   * Work around python-multipart BTS 1143451
   * Update rust dependencies
   * Remove vendored memoffset
   * Update debian/copyright
Checksums-Sha1:
 80fad4b8a809d928012949cce874e1c832d85334 4594 matrix-synapse_1.160.0-1.dsc
 8f115633e8ec54b3359f08508ef34706e7af89b4 9571234 matrix-synapse_1.160.0.orig.tar.gz
 aa9831ab88ec78af30e9f86129918326b267f75c 1327592 matrix-synapse_1.160.0-1.debian.tar.xz
Checksums-Sha256:
 f30370e49f07930a4a2504d75a0756c6cec67918e27e9e312cf3f81db408ec9c 4594 matrix-synapse_1.160.0-1.dsc
 767b9e829b0340e62ed1ccecdda4aaaadf946e619044680df248e97a1aa38fed 9571234 matrix-synapse_1.160.0.orig.tar.gz
 cf2e53347bfbb2841858861d9721a70e40b8faf5c22bd77b364b92001fb009c8 1327592 matrix-synapse_1.160.0-1.debian.tar.xz
Files:
 fe0eea4029be382a727cf9529a967d94 4594 net optional matrix-synapse_1.160.0-1.dsc
 7505743664dd012d3e64b5fe55b3c944 9571234 net optional matrix-synapse_1.160.0.orig.tar.gz
 b7e14b70ce4afb336921786e77c88ae5 1327592 net optional matrix-synapse_1.160.0-1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSD3NF/RLIsyDZW7aHoRGtKyMdyYQUCap+NBQAKCRDoRGtKyMdy
YeINAQDCDCmrk+/iNGOE1hGgBltb7eVtK9J5lmHF3K1M5k5rNwEAlgBxjIiY1QGD
HZv9nacCbjxjJ2tiVP1n24a9eMiVSgE=
=LfSl
-----END PGP SIGNATURE-----