[Pkg-rust-maintainers] Bug#1093932: rust-ascii: FTBFS: to_digit: invalid radix -- radix must be in the range 2 to 36 inclusive

Santiago Vila sanvila at debian.org
Fri Jan 24 01:00:11 GMT 2025


Package: src:rust-ascii
Version: 1.0.0-2
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem cargo
   dh_auto_clean -O--buildsystem=cargo
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=1'] [] ['-j1'] 
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: running subprocess (['env', 'RUST_BACKTRACE=1', '/usr/bin/cargo', 'clean', '--verbose', '--verbose'],) {'check': True}
     Removed 0 files
   dh_autoreconf_clean -O--buildsystem=cargo
   dh_clean -O--buildsystem=cargo
 debian/rules binary
dh binary --buildsystem cargo
   dh_update_autotools_config -O--buildsystem=cargo
   dh_autoreconf -O--buildsystem=cargo
   dh_auto_configure -O--buildsystem=cargo
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=1'] [] ['-j1'] 
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: linking /usr/share/cargo/registry/* into /<<PKGBUILDDIR>>/debian/cargo_registry/
   dh_auto_build -O--buildsystem=cargo
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_test -- test --all
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=1'] [] ['-j1'] 
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: running subprocess (['env', 'RUST_BACKTRACE=1', '/usr/bin/cargo', '-Zavoid-dev-deps', 'test', '--verbose', '--verbose', '-j1', '--target', 'x86_64-unknown-linux-gnu', '--all'],) {}
warning: no edition set: defaulting to the 2015 edition while the latest is 2021
   Compiling ascii v1.0.0 (/<<PKGBUILDDIR>>)
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=ascii CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>> CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/Cargo.toml CARGO_PKG_AUTHORS='Thomas Bahn <thomas at thomas-bahn.net>:Torbjørn Birch Moltu <t.b.moltu at lyse.net>:Simon Sapin <simon.sapin at exyr.org>' CARGO_PKG_DESCRIPTION='ASCII-only equivalents to `char`, `str` and `String`.' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='Apache-2.0 / MIT' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=ascii CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/tomprogrammer/rust-ascii' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=1.0.0 CARGO_PKG_VERSION_MAJOR=1 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/debug/deps rustc --crate-name ascii --edition=2015 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "serde", "serde_test", "std"))' -C metadata=823d65ebf3a7cdc0 -C extra-filename=-823d65ebf3a7cdc0 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps --target x86_64-unknown-linux-gnu -C incremental=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/incremental -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps -L dependency=/<<PKGBUILDDIR>>/target/debug/deps -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/ascii-1.0.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
   --> src/ascii_string.rs:676:20
    |
676 |         self.error.description()
    |                    ^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_char.rs:714:17
    |
714 |         fn from(a: AsciiChar) -> $wider {
    |                 ^
...
743 | impl_into_partial_eq_ord!{u8, AsciiChar::as_byte}
    | ------------------------------------------------- in this macro invocation
    |
    = note: `#[warn(bindings_with_variant_name)]` on by default
    = note: this warning originates in the macro `impl_into_partial_eq_ord` (in Nightly builds, run with -Z macro-backtrace for more info)

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_char.rs:714:17
    |
714 |         fn from(a: AsciiChar) -> $wider {
    |                 ^
...
744 | impl_into_partial_eq_ord!{char, AsciiChar::as_char}
    | --------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `impl_into_partial_eq_ord` (in Nightly builds, run with -Z macro-backtrace for more info)

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:204:40
    |
204 |         &self[self.chars().take_while(|a| a.is_whitespace()).count()..]
    |                                        ^

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:218:26
    |
218 |             .take_while(|a| a.is_whitespace())
    |                          ^

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:226:51
    |
226 |             self.chars().zip(other.chars()).all(|(a, b)| {
    |                                                   ^

warning[E0170]: pattern binding `b` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:226:54
    |
226 |             self.chars().zip(other.chars()).all(|(a, b)| {
    |                                                      ^

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:233:13
    |
233 |         for a in self.chars_mut() {
    |             ^ help: to match on the variant, qualify the path: `ascii_char::AsciiChar::a`

warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:240:13
    |
240 |         for a in self.chars_mut() {
    |             ^ help: to match on the variant, qualify the path: `ascii_char::AsciiChar::a`

warning[E0170]: pattern binding `c` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:614:52
    |
614 |             if let Some(at) = self.chars.position(|c| c == split_on) {
    |                                                    ^

warning[E0170]: pattern binding `c` is named the same as one of the variants of the type `ascii_char::AsciiChar`
   --> src/ascii_str.rs:630:53
    |
630 |             if let Some(at) = self.chars.rposition(|c| c == split_on) {
    |                                                     ^

For more information about this error, try `rustc --explain E0170`.
warning: `ascii` (lib) generated 11 warnings (run `cargo fix --lib -p ascii` to apply 2 suggestions)
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=tests CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>> CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/Cargo.toml CARGO_PKG_AUTHORS='Thomas Bahn <thomas at thomas-bahn.net>:Torbjørn Birch Moltu <t.b.moltu at lyse.net>:Simon Sapin <simon.sapin at exyr.org>' CARGO_PKG_DESCRIPTION='ASCII-only equivalents to `char`, `str` and `String`.' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='Apache-2.0 / MIT' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=ascii CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/tomprogrammer/rust-ascii' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=1.0.0 CARGO_PKG_VERSION_MAJOR=1 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 CARGO_TARGET_TMPDIR=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/tmp LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/debug/deps rustc --crate-name tests --edition=2015 tests.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "serde", "serde_test", "std"))' -C metadata=bca155cfa771f8e4 -C extra-filename=-bca155cfa771f8e4 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps --target x86_64-unknown-linux-gnu -C incremental=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/incremental -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps -L dependency=/<<PKGBUILDDIR>>/target/debug/deps --extern ascii=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps/libascii-823d65ebf3a7cdc0.rlib -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/ascii-1.0.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
warning[E0170]: pattern binding `a` is named the same as one of the variants of the type `ascii::AsciiChar`
   --> tests.rs:133:34
    |
133 |             if case.chars().all(|a| a.is_uppercase() ) {
    |                                  ^
    |
    = note: `#[warn(bindings_with_variant_name)]` on by default

warning: `ascii` (test "tests") generated 1 warning
     Running `CARGO=/usr/bin/cargo CARGO_CRATE_NAME=ascii CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>> CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/Cargo.toml CARGO_PKG_AUTHORS='Thomas Bahn <thomas at thomas-bahn.net>:Torbjørn Birch Moltu <t.b.moltu at lyse.net>:Simon Sapin <simon.sapin at exyr.org>' CARGO_PKG_DESCRIPTION='ASCII-only equivalents to `char`, `str` and `String`.' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='Apache-2.0 / MIT' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=ascii CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/tomprogrammer/rust-ascii' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=1.0.0 CARGO_PKG_VERSION_MAJOR=1 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/debug/deps rustc --crate-name ascii --edition=2015 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "serde", "serde_test", "std"))' -C metadata=d0c9322e95f1b210 -C extra-filename=-d0c9322e95f1b210 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps --target x86_64-unknown-linux-gnu -C incremental=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/incremental -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps -L dependency=/<<PKGBUILDDIR>>/target/debug/deps -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/ascii-1.0.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
warning: `ascii` (lib test) generated 11 warnings (11 duplicates)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 2.21s
     Running `CARGO=/usr/bin/cargo CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>> CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/Cargo.toml CARGO_PKG_AUTHORS='Thomas Bahn <thomas at thomas-bahn.net>:Torbjørn Birch Moltu <t.b.moltu at lyse.net>:Simon Sapin <simon.sapin at exyr.org>' CARGO_PKG_DESCRIPTION='ASCII-only equivalents to `char`, `str` and `String`.' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='Apache-2.0 / MIT' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=ascii CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/tomprogrammer/rust-ascii' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=1.0.0 CARGO_PKG_VERSION_MAJOR=1 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' LD_LIBRARY_PATH='/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps:/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug:/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib' /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/debug/deps/ascii-d0c9322e95f1b210`

running 36 tests
test ascii_char::tests::as_byte_and_char ... ok
test ascii_char::tests::ascii_case ... ok
test ascii_char::tests::cmp_wider ... ok
test ascii_char::tests::fmt_ascii ... ok
test ascii_char::tests::is_all ... ok
test ascii_char::tests::is_digit_bad_radix - should panic ... ok
test ascii_char::tests::is_digit_strange_radixes ... FAILED
test ascii_char::tests::new_array_is_correct ... ok
test ascii_char::tests::to_ascii_char ... ok
test ascii_str::tests::as_ascii_str ... ok
test ascii_str::tests::as_bytes ... ok
test ascii_str::tests::as_mut_ascii_str ... ok
test ascii_str::tests::as_str ... ok
test ascii_str::tests::chars_iter ... ok
test ascii_str::tests::chars_iter_mut ... ok
test ascii_str::tests::cstr_as_ascii_str ... ok
test ascii_str::tests::cstring_as_ascii_str ... ok
test ascii_str::tests::default ... ok
test ascii_str::tests::fmt_ascii_str ... ok
test ascii_str::tests::generic_as_ascii_str ... ok
test ascii_str::tests::generic_as_mut_ascii_str ... ok
test ascii_str::tests::index ... ok
test ascii_str::tests::lines_iter ... ok
test ascii_str::tests::lines_iter_empty ... ok
test ascii_str::tests::lines_iter_rev ... ok
test ascii_str::tests::make_ascii_case ... ok
test ascii_str::tests::split_str ... ok
test ascii_str::tests::split_str_empty ... ok
test ascii_str::tests::split_str_rev ... ok
test ascii_str::tests::to_ascii_case ... ok
test ascii_string::tests::fmt_ascii_string ... ok
test ascii_string::tests::from_ascii_vec ... ok
test ascii_string::tests::from_cstring ... ok
test ascii_string::tests::into_bytes ... ok
test ascii_string::tests::into_string ... ok
test ascii_string::tests::write_fmt ... ok

failures:

---- ascii_char::tests::is_digit_strange_radixes stdout ----
thread 'ascii_char::tests::is_digit_strange_radixes' panicked at /usr/src/rustc-1.84.0/library/core/src/char/methods.rs:391:9:
to_digit: invalid radix -- radix must be in the range 2 to 36 inclusive
stack backtrace:
   0: rust_begin_unwind
             at /usr/src/rustc-1.84.0/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /usr/src/rustc-1.84.0/library/core/src/panicking.rs:76:14
   2: core::char::methods::<impl char>::to_digit
             at /usr/src/rustc-1.84.0/library/core/src/char/methods.rs:391:9
   3: core::char::methods::<impl char>::is_digit
             at /usr/src/rustc-1.84.0/library/core/src/char/methods.rs:333:9
   4: ascii::ascii_char::tests::is_digit_strange_radixes
             at /usr/share/cargo/registry/ascii-1.0.0/src/ascii_char.rs:920:47
   5: ascii::ascii_char::tests::is_digit_strange_radixes::{{closure}}
             at /usr/share/cargo/registry/ascii-1.0.0/src/ascii_char.rs:919:34
   6: core::ops::function::FnOnce::call_once
             at /usr/src/rustc-1.84.0/library/core/src/ops/function.rs:250:5
   7: core::ops::function::FnOnce::call_once
             at /usr/src/rustc-1.84.0/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


failures:
    ascii_char::tests::is_digit_strange_radixes

test result: FAILED. 35 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

error: test failed, to rerun pass `--lib`
dh_auto_test: error: /usr/share/cargo/bin/cargo test --all returned exit code 101
make[1]: *** [debian/rules:6: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:3: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202501/

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 could not 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-ascii, so that this is still
visible in the BTS web page for this package.

Thanks.



More information about the Pkg-rust-maintainers mailing list