Skip to content

Rust 1.73.0 fails to build on powerpc-unknown-freebsd (regression from 1.72.0) #116845

Open
@pkubaj

Description

@pkubaj

This is FreeBSD 14.0-RC1 on powerpc (powerpc64 and powerpc64le build and work fine).
1.72.0 builds fine, but 1.73.0:

    Checking core v0.0.0 (/wrkdirs/usr/ports/lang/rust/work/rustc-1.73.0-src/library/core)
     Running `CARGO=/wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/cargo CARGO_CRATE_NAME=core CARGO_MANIFEST_DIR=/wrkdirs/usr/ports/lang/rust/work/rustc-1.73.0-src/library/core CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='The Rust Core Library' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='MIT OR Apache-2.0' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=core CARGO_PKG_README='' CARGO_PKG_REPOSITORY='https://github.com/rust-lang/rust.git' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.0.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/wrkdirs/usr/ports/lang/rust/work/_build/powerpc-unknown-freebsd/stage2-std/powerpc-unknown-freebsd/doc/release/deps:/wrkdirs/usr/ports/lang/rust/work/bootstrap/lib' /wrkdirs/usr/ports/lang/rust/work/_build/bootstrap/debug/rustc
--crate-name core --edition=2021 library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=153 --crate-type lib --emit=dep-info,metadata -C opt-level=3 -C embed-bitcode=no -Zunstable-options --check-cfg 'names()' --check-cfg 'values()' -C metadata=790b88ec91d684ee -C extra-filename=-790b88ec91d684ee --out-dir /wrkdirs/usr/ports/lang/rust/work/_build/powerpc-unknown-freebsd/stage2-std/powerpc-unknown-freebsd/doc/powerpc-unknown-freebsd/release/deps --target powerpc-unknown-freebsd -C linker=/wrkdirs/usr/ports/lang/rust/work/ld-wrapper -L dependency=/wrkdirs/usr/ports/lang/rust/work/_build/powerpc-unknown-freebsd/stage2-std/powerpc-unknown-freebsd/doc/powerpc-unknown-freebsd/release/deps -L dependency=/wrkdirs/usr/ports/lang/rust/work/_build/powerpc-unknown-freebsd/stage2-std/powerpc-unknown-freebsd/doc/release/deps -L/usr/local/lib/gcc12 -Csymbol-mangling-version=legacy -Zunstable-options -Zunstable-options '--check-cfg=values(bootstrap)' '--check-cfg=values(stdarch_intel_sde)' '--check-cfg=values(no_fp_fmt_parse)' '--check-cfg=values(no_global_oom_handling)' '--check-cfg=values(no_rc)' '--check-cfg=values(no_sync)' '--check-cfg=values(freebsd12)' '--check-cfg=values(freebsd13)' '--check-cfg=values(backtrace_in_libstd)' '--check-cfg=values(target_vendor,"unikraft")' '--check-cfg=values(target_env,"libnx")' '--check-cfg=values(target_os,"teeos")' '--check-cfg=values(target_arch,"asmjs","spirv","nvptx","xtensa","mips32r6","mips64r6","csky")' -Zmacro-backtrace -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Zunstable-options -Csplit-debuginfo=off -Cprefer-dynamic -Zinline-mir -Cembed-bitcode=yes '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/1.73.0/")' -Z binary-dep-depinfo`
error[E0004]: non-exhaustive patterns: `ControlFlow::Continue(_)` not covered
    --> library/core/src/iter/traits/iterator.rs:3022:32
     |
3022 |             move |(), x| match f(&x).branch() {
     |                                ^^^^^^^^^^^^^^ pattern `ControlFlow::Continue(_)` not covered
     |
note: `ControlFlow<R, bool>` defined here
    --> library/core/src/ops/control_flow.rs:89:5
     |
85   | pub enum ControlFlow<B, C = ()> {
     |          -----------
...
89   |     Continue(C),
     |     ^^^^^^^^ not covered
     = note: the matched value is of type `ControlFlow<R, bool>`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
     |
3025 ~                 ControlFlow::Break(r) => ControlFlow::Break(FromResidual::from_residual(r)),
3026 ~                 ControlFlow::Continue(_) => todo!(),
     |

warning: variable does not need to be mutable
    --> library/core/src/iter/traits/iterator.rs:3016:13
     |
3016 |             mut f: impl FnMut(&I) -> V,
     |             ----^
     |             |
     |             help: remove this `mut`
     |
     = note: `#[warn(unused_mut)]` on by default

For more information about this error, try `rustc --explain E0004`.

Did not run successfully: exit status: 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.O-freebsdOperating system: FreeBSDP-mediumMedium priorityregression-untriagedUntriaged performance or correctness regression.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions