a6919ef889
Use `try{}` in `try_fold` to decouple iterators in the library from `Try` details
I'd like to experiment with changing the `?`/`try` desugaring and correspondingly the `Try` trait (see #42327 for discussions about the suboptimalities of the current one) and this change would keep from needing any `cfg(bootstrap)` in iterator things.
This will be lowered to the same thing, so shouldn't cause any perf issues:
08e2d46166/compiler/rustc_ast_lowering/src/expr.rs (L428-L429)
But ~~I'll trigger~~ I've triggered [a perf run](https://perf.rust-lang.org/compare.html?start=d65c08e9cc164b7b44de53503fae859a4fafd976&end=2c067c5235e779cd75e9f0cdfe572c64f1a12b9b) just in case.
~~EDIT: changed to a draft because of the rustfmt-only syntax error. zulip thread about it: https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/New.20bootstrap.20rustfmt.20doesn't.20support.20syntax.20from.20sept.3F/near/213098097~~
EDIT: This now includes a rustfmt version bump to get through tidy.
44 lines
2.0 KiB
Plaintext
44 lines
2.0 KiB
Plaintext
# This file describes the stage0 compiler that's used to then bootstrap the Rust
|
|
# compiler itself. For the rustbuild build system, this also describes the
|
|
# relevant Cargo revision that we're using.
|
|
#
|
|
# Currently Rust always bootstraps from the previous stable release, and in our
|
|
# train model this means that the master branch bootstraps from beta, beta
|
|
# bootstraps from current stable, and stable bootstraps from the previous stable
|
|
# release.
|
|
#
|
|
# If you're looking at this file on the master branch, you'll likely see that
|
|
# rustc and cargo are configured to `beta`, whereas if you're looking at a
|
|
# source tarball for a stable release you'll likely see `1.x.0` for rustc and
|
|
# `0.(x+1).0` for Cargo where they were released on `date`.
|
|
|
|
date: 2020-10-16
|
|
rustc: beta
|
|
cargo: beta
|
|
|
|
# We use a nightly rustfmt to format the source because it solves some
|
|
# bootstrapping issues with use of new syntax in this repo. If you're looking at
|
|
# the beta/stable branch, this key should be omitted, as we don't want to depend
|
|
# on rustfmt from nightly there.
|
|
rustfmt: nightly-2020-10-12
|
|
|
|
# When making a stable release the process currently looks like:
|
|
#
|
|
# 1. Produce stable build, upload it to dev-static
|
|
# 2. Produce a beta build from the previous stable build, upload to static
|
|
# 3. Produce a nightly build from previous beta, upload to static
|
|
# 4. Upload stable build to static, publish full release
|
|
#
|
|
# This means that there's a small window of time (a few days) where artifacts
|
|
# are downloaded from dev-static.rust-lang.org instead of static.rust-lang.org.
|
|
# In order to ease this transition we have an extra key which is in the
|
|
# configuration file below. When uncommented this will instruct the bootstrap.py
|
|
# script to download from dev-static.rust-lang.org.
|
|
#
|
|
# This key is typically commented out at all times. If you're looking at a
|
|
# stable release tarball it should *definitely* be commented out. If you're
|
|
# looking at a beta source tarball and it's uncommented we'll shortly comment it
|
|
# out.
|
|
|
|
#dev: 1
|