#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
--------------------------------------------------------------------------------