Rust 1.22.0 prerelease testing!


Rust 1.22 is released on Thursday (US Thanksgiving!) and builds are available now for testing. Release artifacts are uploaded to dev ( currently and will be promoted to prod ( this Thursday. The URL is

You can test rustup with

RUSTUP_DIST_SERVER= rustup update stable

Please let us know if you run into any issues! Pending any detected regressions these are likely to be the exact artifacts that we’ll release on Thursday.

You can find the release notes on GitHub as well:



found strange behaviour with 1.22.0 on macOS High Sierra, and it looks like a regress:

% RUST_LOG=debug cargo run

INFO:rustc_trans::back::link: linker stderr:

INFO:rustc_trans::back::link: linker stdout:

INFO:cargo::ops::cargo_rustc: Renaming dep_info "/private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.d" to "/private/tmp/2GinlUpbELdBN/qringtool/target/debug/.fingerprint/qringtool-219c27fe46a7576a/dep-bin-qringtool-219c27fe46a7576a"
DEBUG:cargo::ops::cargo_rustc::fingerprint: appending /private/tmp/2GinlUpbELdBN/qringtool/target/debug/.fingerprint/qringtool-219c27fe46a7576a/dep-bin-qringtool-219c27fe46a7576a <- /private/tmp/2GinlUpbELdBN/qringtool
DEBUG:cargo::ops::cargo_rustc: linking /private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a to /private/tmp/2GinlUpbELdBN/qringtool/target/debug/qringtool
DEBUG:cargo::ops::cargo_rustc: linking /private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM to /private/tmp/2GinlUpbELdBN/qringtool/target/debug/qringtool.dSYM
DEBUG:cargo::ops::cargo_rustc: hard link failed Operation not permitted (os error 1). falling back to fs::copy
INFO:cargo::ops::cargo_rustc::job_queue: end: qringtool v0.2.1 (file:///private/tmp/2GinlUpbELdBN/qringtool) => Target(bin: qringtool)/Profile(build) => Host
DEBUG:cargo: exit_with_error; err=CliError { error: Some(CargoError(Msg("failed to link or copy `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM` to `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/qringtool.dSYM`"), State { next_error: Some(Error { repr: Custom(Custom { kind: InvalidInput, error: StringError("the source path is not an existing regular file") }) }), backtrace: None })), unknown: false, exit_code: 101 }
error: failed to link or copy `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM` to `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/qringtool.dSYM`

% stat /private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM
16777220 8597678553 drwxr-xr-x 3 yes wheel 0 96 "Nov 22 07:36:36 2017" "Nov 22 07:36:36 2017" "Nov 22 07:36:36 2017" "Nov 22 07:36:36 2017" 4194304 0 0 /private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM

% tree /private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM
└── Contents
    β”œβ”€β”€ Info.plist
    └── Resources
        └── DWARF
            └── qringtool-219c27fe46a7576a

3 directories, 2 files

But executable has been build and run OK:

% ./target/debug/qringtool -V
qringtool 0.2.1


Hi, this is a known issue, doing a cargo clean should make the error disappear.


No, unfortunately doesn’t:

% cargo clean
% cargo build
   Compiling core-foundation-sys v0.2.3
   Compiling qringtool v0.2.1 (file:///private/tmp/2GinlUpbELdBN/qringtool)
error: failed to link or copy `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/deps/qringtool-219c27fe46a7576a.dSYM` to `/private/tmp/2GinlUpbELdBN/qringtool/target/debug/qringtool.dSYM`

Caused by:
  the source path is not an existing regular file
% cargo --version
cargo 0.23.0 (cee38cd30 2017-11-12)

but it does on nightly:

% cargo +nightly clean
% cargo +nightly build
   Compiling qringtool v0.2.1 (file:///private/tmp/2GinlUpbELdBN/qringtool)
    Finished dev [unoptimized + debuginfo] target(s) in 85.94 secs
% cargo +nightly --version
cargo 0.24.0-nightly (abd137ad1 2017-11-12)


I have an important issue regarding 1.22 and target_feature when rustc is builded with system LLVM (not the embedded copy).

It seems that target_feature requires the embedded copy to be functional.

As distro generally avoid embedded LLVM if possible, it is really annoying: and as firefox-57 depends on simd and simd fails to build in such circunstances, it makes firefox-57 not buildable.

I opened issue 46181 on github.


Oh no, looks like has not been backported to cargo’s beta

Edit: Filed to backport 4672 to the RC cargo.

Edit 2: Cargo side merged, now on Rust itself: