Skip to content

rust-1.94.0 fails to bootstrap with warning: hidden lifetime parameters in types are deprecated in serde_derive #153809

@stefson

Description

@stefson

hello everyone,

rust-1.94.0 stable fails to bootstrap for me with:

error: warnings are denied by `build.warnings` configuration
Traceback (most recent call last):
  File "/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/./x.py", line 53, in <module>
    bootstrap.main()
    ~~~~~~~~~~~~~~^^
  File "/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/src/bootstrap/bootstrap.py", line 1410, in main
    bootstrap(args)
    ~~~~~~~~~^^^^^^
  File "/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/src/bootstrap/bootstrap.py", line 1362, in bootstrap
    build.build_bootstrap()
    ~~~~~~~~~~~~~~~~~~~~~^^
  File "/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/src/bootstrap/bootstrap.py", line 1029, in build_bootstrap
    run(args, env=env, verbose=self.verbose, cwd=self.rust_root)
    ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/src/bootstrap/bootstrap.py", line 237, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /var/tmp/portage/dev-lang/rust-1.94.0/work/rust-stage0/bin/cargo build --jobs=default --manifest-path /var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/src/bootstrap/Cargo.toml -Zroot-dir=/var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src --verbose --verbose -Zwarnings --locked --frozen

the warnings (1000+) are from serde_derive:

1211682-warning: hidden lifetime parameters in types are deprecated
1211763:   --> /var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/vendor/serde_derive-1.0.215/src/internals/ast.rs:133:23
1211899-    |
1211918-133 |     let variants: Vec<Variant> = variants
--
1212539-
1212540-warning: hidden lifetime parameters in types are deprecated
1212621:   --> /var/tmp/portage/dev-lang/rust-1.94.0/work/rustc-1.94.0-src/vendor/serde_derive-1.0.215/src/internals/attr.rs:509:54
1212758-    |
1212777-509 |                 let _ = attr.parse_args_with(|input: ParseStream| {
--

this is my config.toml

[llvm]
download-ci-llvm = false
optimize = true
release-debuginfo = false
assertions = false
ninja = true
targets = "AArch64;X86;ARM;WebAssembly"
experimental-targets = ""
link-shared = true


enable-warnings = false
[llvm.build-config]
CMAKE_VERBOSE_MAKEFILE = "ON"
CMAKE_C_FLAGS_RELEASE = "-O2 -march=znver1 -pipe"
CMAKE_CXX_FLAGS_RELEASE = "-O2 -march=znver1 -pipe"
CMAKE_EXE_LINKER_FLAGS_RELEASE = "-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
CMAKE_MODULE_LINKER_FLAGS_RELEASE = "-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
CMAKE_SHARED_LINKER_FLAGS_RELEASE = "-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
CMAKE_STATIC_LINKER_FLAGS_RELEASE = ""
[build]
build-stage = 2
test-stage = 2
build = "x86_64-unknown-linux-gnu"
host = ["x86_64-unknown-linux-gnu"]
target = ["x86_64-unknown-linux-gnu","wasm32-unknown-unknown"]
cargo = "/var/tmp/portage/dev-lang/rust-1.94.0/work/rust-stage0/bin/cargo"
rustc = "/var/tmp/portage/dev-lang/rust-1.94.0/work/rust-stage0/bin/rustc"
rustfmt = "/var/tmp/portage/dev-lang/rust-1.94.0/work/rust-stage0/bin/rustfmt"
docs = false
compiler-docs = false
submodules = false
python = "python3.13"
locked-deps = true
vendor = true
extended = true
tools = ["cargo","rustdoc","rustfmt"]
verbose = 2
sanitizers = false
profiler = true
cargo-native-static = false
description = "gentoo"
[install]
prefix = "/usr/lib/rust/1.94.0"
sysconfdir = "etc"
docdir = "share/doc/rust"
bindir = "bin"
libdir = "lib"
mandir = "share/man"
[rust]
# https://github.com/rust-lang/rust/issues/54872
codegen-units-std = 1
optimize = true
debug = false
debug-assertions = false
debug-assertions-std = false
debuginfo-level = 0
debuginfo-level-rustc = 0
debuginfo-level-std = 0
debuginfo-level-tools = 0
debuginfo-level-tests = 0
backtrace = true
incremental = false
default-linker = "x86_64-pc-linux-gnu-gcc"
channel = "stable"
rpath = false
verbose-tests = true
optimize-tests = true
codegen-tests = true
dist-src = false
remap-debuginfo = true
lld = false
# only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
# https://github.com/rust-lang/rust/issues/74976
# https://github.com/rust-lang/rust/issues/76526
deny-warnings = true
backtrace-on-ice = true
jemalloc = false
# See https://github.com/rust-lang/rust/issues/121124
lto = "off"
[dist]
src-tarball = false
compression-formats = ["xz"]
compression-profile = "balanced"
[target.x86_64-unknown-linux-gnu]
ar = "x86_64-pc-linux-gnu-ar"
cc = "x86_64-pc-linux-gnu-gcc"
cxx = "x86_64-pc-linux-gnu-g++"
linker = "x86_64-pc-linux-gnu-gcc"
ranlib = "x86_64-pc-linux-gnu-ranlib"
llvm-libunwind = "no"
llvm-config = "/usr/lib/llvm/21/bin/llvm-config"
[target.wasm32-unknown-unknown]
linker = "lld"
# wasm target does not have profiler_builtins https://bugs.gentoo.org/848483
profiler = false

I'm on x86_64 gentoo

the rust version I'm using to build is 1.93.1:

rustc 1.93.1 (01f6ddf75 2026-02-11) (gentoo)
binary: rustc
commit-hash: 01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf
commit-date: 2026-02-11
host: x86_64-unknown-linux-gnu
release: 1.93.1
LLVM version: 21.1.8

you can find the complete log here: build.log.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions