#1146275 ripgrep-all: FTBFS: error[E0308]: mismatched types

#1146275#5
Date:
2026-08-30 22:57:18 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/202608/

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

Thanks.
--------------------------------------------------------------------------------
[...]
error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/ast/from_serde.rs:74:23
    |
 74 |             original: serde.original,
    |                       ^^^^^^^^^^^^^^ expected `syn::Field`, found `syn::data::Field`
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/macros.rs:36:22
    |
 36 |           $(#[$attr])* $pub $struct $name $body
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/macros.rs:36:22
    |
 36 |           $(#[$attr])* $pub $struct $name $body
    |                        ------------------------ this is the found type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/data.rs:182:1
    |
182 | / ast_struct! {
183 | |     /// A field of a struct or enum variant.
184 | |     #[cfg_attr(docsrs, doc(cfg(any(feature = "full", feature = "derive"))))]
185 | |     pub struct Field {
...   |
201 | | }
    | |_- in this macro invocation
    = help: you can use `cargo tree` to explore your dependency tree
    = note: this error originates in the macro `ast_struct` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/ast/from_serde.rs:75:31
   |
75 |             attrs: Attrs::new(&serde.original.attrs, errors),
   |                    ---------- ^^^^^^^^^^^^^^^^^^^^^ expected `&[Attribute]`, found `&Vec<Attribute>`
   |                    |
   |                    arguments to this function are incorrect
   |
   = note: expected reference `&[Attribute]`
              found reference `&Vec<syn::attr::Attribute>`
note: associated function defined here
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/mod.rs:38:12
   |
38 |     pub fn new(attrs: &[syn::Attribute], errors: &Ctxt) -> Self {
   |            ^^^ ------------------------

error[E0308]: mismatched types
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/ast/from_serde.rs:76:52
   |
76 |             validation_attrs: ValidationAttrs::new(&serde.original.attrs, errors),
   |                               -------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `&[Attribute]`, found `&Vec<Attribute>`
   |                               |
   |                               arguments to this function are incorrect
   |
   = note: expected reference `&[Attribute]`
              found reference `&Vec<syn::attr::Attribute>`
note: associated function defined here
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/validation.rs:53:12
   |
53 |     pub fn new(attrs: &[syn::Attribute], errors: &Ctxt) -> Self {
   |            ^^^ ------------------------

error[E0308]: mismatched types
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/ast/mod.rs:48:13
   |
46 |         let result = serde_ast::Container::from_ast(
   |                      ------------------------------ arguments to this function are incorrect
47 |             &ctxt,
48 |             item,
   |             ^^^^ expected `syn::derive::DeriveInput`, found `DeriveInput`
   |
note: there are multiple different versions of crate `syn` in the dependency graph
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/macros.rs:36:22
   |
36 |           $(#[$attr])* $pub $struct $name $body
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type
   |
  ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/macros.rs:36:22
   |
36 |           $(#[$attr])* $pub $struct $name $body
   |                        ------------------------ this is the found type
   |
  ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/derive.rs:10:1
   |
10 | / ast_struct! {
11 | |     /// Data structure sent to a `proc_macro_derive` macro.
12 | |     #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
13 | |     pub struct DeriveInput {
...  |
20 | | }
   | |_- in this macro invocation
   = help: you can use `cargo tree` to explore your dependency tree
note: associated function defined here
  --> /<<PKGBUILDDIR>>/debian/cargo_registry/serde_derive_internals-0.30.0/src/ast.rs:62:12
   |
62 |     pub fn from_ast(
   |            ^^^^^^^^
   = note: this error originates in the macro `ast_struct` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/ast/mod.rs:55:9
    |
 44 |       pub fn from_ast(item: &'a syn::DeriveInput) -> syn::Result<Container<'a>> {
    |                                                      -------------------------- expected `Result<ast::Container<'a>, syn::Error>` because of return type
...
 55 | /         ctxt.check()
 56 | |             .map(|_| result.expect("from_ast set no errors on Ctxt, so should have returned Ok"))
    | |_________________________________________________________________________________________________^ expected `syn::Error`, found `syn::error::Error`
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/error.rs:105:1
    |
105 | pub struct Error {
    | ^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/error.rs:107:1
    |
107 | pub struct Error {
    | ---------------- this is the found type
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/schemars_to_serde.rs:46:5
    |
 37 | pub fn process_serde_attrs(input: &mut syn::DeriveInput) -> syn::Result<()> {
    |                                                             --------------- expected `Result<(), syn::Error>` because of return type
...
 46 |     ctxt.check()
    |     ^^^^^^^^^^^^ expected `syn::Error`, found `syn::error::Error`
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/error.rs:105:1
    |
105 | pub struct Error {
    | ^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/error.rs:107:1
    |
107 | pub struct Error {
    | ---------------- this is the found type
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/validation.rs:112:42
    |
112 |                         errors.syn_error(e);
    |                                --------- ^ expected `syn::error::Error`, found `syn::Error`
    |                                |
    |                                arguments to this method are incorrect
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/error.rs:107:1
    |
107 | pub struct Error {
    | ^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/error.rs:105:1
    |
105 | pub struct Error {
    | ---------------- this is the found type
    = help: you can use `cargo tree` to explore your dependency tree
note: method defined here
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/serde_derive_internals-0.30.0/src/ctxt.rs:41:12
    |
 41 |     pub fn syn_error(&self, err: syn::Error) {
    |            ^^^^^^^^^

error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/validation.rs:517:26
    |
517 |             cx.syn_error(err);
    |                --------- ^^^ expected `syn::error::Error`, found `syn::Error`
    |                |
    |                arguments to this method are incorrect
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/error.rs:107:1
    |
107 | pub struct Error {
    | ^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/error.rs:105:1
    |
105 | pub struct Error {
    | ---------------- this is the found type
    = help: you can use `cargo tree` to explore your dependency tree
note: method defined here
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/serde_derive_internals-0.30.0/src/ctxt.rs:41:12
    |
 41 |     pub fn syn_error(&self, err: syn::Error) {
    |            ^^^^^^^^^

error[E0308]: mismatched types
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/attr/mod.rs:226:60
    |
226 |             Err(err) if !ignore_errors => errors.syn_error(err),
    |                                                  --------- ^^^ expected `syn::error::Error`, found `syn::Error`
    |                                                  |
    |                                                  arguments to this method are incorrect
    |
note: there are multiple different versions of crate `syn` in the dependency graph
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-3.0.4/src/error.rs:107:1
    |
107 | pub struct Error {
    | ^^^^^^^^^^^^^^^^ this is the expected type
    |
   ::: /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/error.rs:105:1
    |
105 | pub struct Error {
    | ---------------- this is the found type
    = help: you can use `cargo tree` to explore your dependency tree
note: method defined here
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/serde_derive_internals-0.30.0/src/ctxt.rs:41:12
    |
 41 |     pub fn syn_error(&self, err: syn::Error) {
    |            ^^^^^^^^^

error[E0277]: the trait bound `Punctuated<WherePredicate, Comma>: Extend<WherePredicate>` is not satisfied
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/schemars_derive-0.8.22/src/lib.rs:196:33
    |
196 |         where_clause.predicates.extend(bounds.iter().cloned());
    |                                 ^^^^^^ the trait `Extend<syn::generics::WherePredicate>` is not implemented for `syn::punctuated::Punctuated<WherePredicate, syn::token::Comma>`
    |
help: the following other types implement trait `Extend<A>`
   --> /<<PKGBUILDDIR>>/debian/cargo_registry/syn-2.0.119/src/punctuated.rs:469:1
    |
469 | / impl<T, P> Extend<T> for Punctuated<T, P>
470 | | where
471 | |     P: Default,
    | |_______________^ `syn::punctuated::Punctuated<T, P>` implements `Extend<T>`
...
488 | / impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>
489 | | where
490 | |     P: Default,
    | |_______________^ `syn::punctuated::Punctuated<T, P>` implements `Extend<Pair<T, P>>`
    = note: there are multiple different versions of crate `syn` in the dependency graph
    = help: you can use `cargo tree` to explore your dependency tree
    = note: the full name for the type has been written to '/<<PKGBUILDDIR>>/target/debug/deps/schemars_derive-b1996f1975748e9a.long-type-11872311257818448890.txt'
    = note: consider using `--verbose` to print the full type name to the console

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
warning: `schemars_derive` (lib) generated 1 warning
error: could not compile `schemars_derive` (lib) due to 17 previous errors; 1 warning emitted

Caused by:
  process didn't exit successfully: `CARGO=/usr/bin/cargo CA [too-long-redacted] ap-lints warn` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
dh_auto_test: error: /usr/share/cargo/bin/cargo build returned exit code 101
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1146275#10
Date:
2026-08-31 01:00:16 UTC
From:
To:
Hi Santiago,

Please try again after the next dinstall. This FTBFS is due to schemars_derive:

error: could not compile `schemars_derive` (lib) due to 17 previous errors; 1 warning emitted

Which was just rebuilt successfully: https://buildd.debian.org/status/package.php?p=rust-schemars-derive

If it still FTBFS, please let me know. If not, feel free to close the bug.

Thanks for all your bug filing work, as always! It's very much appreciated.

Best regards,
Simon Quigley
tsimonq2@debian.org