Add index page argument
@Mark-Simulacrum: I might need some help from you: in bootstrap, I want to add an argument (a new flag added into `rustdoc`) in order to generate the current index directly when `rustdoc` is documenting the `std` lib. However, my change in `bootstrap` didn't do it and I assume it must be moved inside the `Std` struct. But there, I don't see how to pass it to `rustdoc` through `cargo`. Did I miss anything?
r? @QuietMisdreavus
add an appveyor config for aarch64-pc-windows-msvc
This is purely a cargo-cult of things to solicit feedback from humans and/or automation failures. Not sure that the build artifacts would get packaged properly to start providing nightly tarballs for `libstd`, but this is at least a start.
Fixes#53864.
Fixes#46775 -- don't mutate the process's environment in Command::exec
Instead, pass the environment to execvpe, so the kernel can apply it directly to the new process. This avoids a use-after-free in the case where exec'ing the new process fails for any reason, as well as a race condition if there are other threads alive during the exec.
Fixes#46775
universes refactor 3
Some more refactorings from my universe branch. These are getting a bit more "invasive" -- they start to plumb the universe information through the canonicalization process. As of yet though I don't **believe** this branch changes our behavior in any notable way, though I'm marking the branch as `WIP` to give myself a chance to verify this.
r? @scalexm
Rollup of 13 pull requests
Successful merges:
- #55280 (Add libproc_macro to rust-src distribution)
- #55469 (Regression tests for issue #54477.)
- #55504 (Use vec![x; n] instead of iter::repeat(x).take(n).collect())
- #55522 (use String::from() instead of format!() macro to construct Strings.)
- #55536 (Pass suggestions as impl Iterator instead of Vec)
- #55542 (syntax: improve a few allocations)
- #55558 (Tweak `MatcherPos::matches`)
- #55561 (Fix double_check tests on big-endian targets)
- #55573 (Make sure the `aws` executable is in $PATH on macOS)
- #55574 (Use `SmallVec` within `MoveData`.)
- #55575 (Fix invalid_const_promotion test on some archs)
- #55578 (Made doc example of `impl Default for …` use `-> Self` instead of explicit self type)
- #55582 (Remove unused import copy from publish_toolstate.py)
Fix double_check tests on big-endian targets
Since the enums get optimized down to 1 byte long, the bits set in the `usize` member don't align with the `enum` values on big-endian machines. Avoid this issue by shrinking the integer member to the
same size as the enums.
Instead, pass the environment to execvpe, so the kernel can apply it directly to the new process. This avoids a use-after-free in the case where exec'ing the new process fails for any reason, as well as a race condition if there are other threads alive during the exec.
Regression tests for issue #54477.
At some point someone may want to revisit PR #53564
it would be really good to have regression tests for #54477 before that happens. :)
save-analysis: bug fix and optimisation.
The first commit fixes a bug in name resolution and save-analysis (introduced in #54145) and removes an unused parameter. This fixes the RLS tests, which are currently blocking distribution of the RLS. The second commit removes macro uses from save-analysis data, since these are never used, they just take up space.
r? @petrochenkov
Since the enums get optimized down to 1 byte long, the bits
set in the usize member don't align with the enums on big-endian
machines. Avoid this issue by shrinking the integer member to the
same size as the enums.
`create_matches` creates a `Vec<Rc<Vec<NamedMatch>>>`. Even though all the
inner `Vec`s are empty, each one is created separately.
This commit changes `create_matches` so it instead creates one empty inner
`Vec`, and shares it.
The commit also changes `MatcherPos::matches` to a boxed slice, because its
length doesn't change.
thread::unpark: Avoid notifying with mutex locked.
This means when the other thread wakes it can continue right away
instead of having to wait for the mutex.
Also add some comments explaining why the mutex needs to be locked in
the first place.
This is a follow up to https://github.com/rust-lang/rust/pull/54174
I did some tests with relacy [here](https://gist.github.com/parched/b7fb88c97755a81e5cb9f9048a15f7fb) (This PR is InnerV2). If anyone can think of some other test case worth adding let me know.
r? @RalfJung
ci: Move global credentials to web configuration
This commit moves a number of our encrypted credentials stored in
configuration files in this repository to env vars on the web UI. This
will hopefully make it easier to rotate credentials in the future as
well as quickly change them if the need arises. (quicker than landing a
PR that is).
This also updates the travis deployment process to always use the `aws`
command line tool which we're already installing on Linux and should
enable us to avoid all `dpl` gem issues as well as have greater control
over what's going where.