about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2021-03-01Update Docker to use the correct targetJakub Kulik-13/+26
2021-03-01Update supported platforms docJakub Kulik-2/+2
2021-03-01Change default Solaris x86 target to x86_64-pc-solarisJakub Kulik-24/+28
2021-03-01Auto merge of #82654 - JohnTitor:rollup-nkcdkzp, r=JohnTitorbors-391/+2428
Rollup of 10 pull requests Successful merges: - #82309 (Propagate RUSTDOCFLAGS in the environment when documenting) - #82403 (rustbuild: print out env vars on verbose rustc invocations) - #82507 (Rename the `tidy` binary to `rust-tidy`) - #82531 (Add GUI tests) - #82532 (Add `build.print_step_rusage` to config.toml) - #82543 (fix env var name in CI) - #82622 (Propagate `--test-args` for `x.py test src/tools/cargo`) - #82628 (Try to clarify GlobalAlloc::realloc documentation comment.) - #82630 (Fix a typo in the `find_anon_type` doc) - #82643 (Add more proc-macro attribute tests) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-03-01Rollup merge of #82643 - Aaron1011:test-macro-attrs, r=petrochenkovYuki Okushi-371/+2249
Add more proc-macro attribute tests r? `@petrochenkov`
2021-03-01Rollup merge of #82630 - JohnTitor:fix-typo-in-find-anon-type-doc, ↵Yuki Okushi-1/+1
r=petrochenkov Fix a typo in the `find_anon_type` doc
2021-03-01Rollup merge of #82628 - vakaras:realloc-doc, r=Mark-SimulacrumYuki Okushi-2/+5
Try to clarify GlobalAlloc::realloc documentation comment. This PR tries to improve the documentation of [GlobalAlloc::realloc](https://doc.rust-lang.org/alloc/alloc/trait.GlobalAlloc.html#method.realloc) with two aspects: 1. Explicitly mention that `realloc` preserves the contents of the original memory block. 2. Explicitly mention which layout should be used to deallocate the reallocated block.
2021-03-01Rollup merge of #82622 - jyn514:cargo-test-args, r=Mark-SimulacrumYuki Okushi-0/+1
Propagate `--test-args` for `x.py test src/tools/cargo` Fixes https://github.com/rust-lang/rust/issues/82621.
2021-03-01Rollup merge of #82543 - klensy:skip-jobs, r=Mark-SimulacrumYuki Okushi-4/+4
fix env var name in CI There no `SKIP_JOBS` env var name, only `SKIP_JOB`.
2021-03-01Rollup merge of #82532 - pnkfelix:rustbuild-print-step-rusage, r=Mark-SimulacrumYuki Okushi-3/+92
Add `build.print_step_rusage` to config.toml Adds `build.print_step_rusage` to config.toml, which is meant to be an easy way to let compiler developers get feedback on the terminal during bootstrap about resource usage during each step. The output is piggy-backed on `[PRINT-STEP-TIMINGS]`, mostly because the functionality seemed to naturally fit there in the overall control-flow and output structure (even if very little is shared between the implementations themselves). Some sample output (from my Linux box, where I believe the `max rss` output to be somewhat trust-worthy...): ``` [...] Compiling regex v1.4.3 [RUSTC-TIMING] tempfile test:false 0.323 user: 1.418662 sys: 0.81767 max rss (kb): 182084 page reclaims: 26615 page faults: 0 fs block inputs: 0 fs block outputs: 2160 voluntary ctxt switches: 798 involuntary ctxt switches: 131 Completed tempfile v3.1.0 in 0.3s [RUSTC-TIMING] chalk_ir test:false 1.890 user: 1.893603 sys: 0.99663 max rss (kb): 239432 page reclaims: 32107 page faults: 0 fs block inputs: 0 fs block outputs: 25008 voluntary ctxt switches: 108 involuntary ctxt switches: 183 Completed chalk-ir v0.55.0 in 1.9s Compiling rustc_data_structures v0.0.0 (/home/pnkfelix/Dev/Rust/rust.git/compiler/rustc_data_structures) [RUSTC-TIMING] chrono test:false 1.244 user: 3.333198 sys: 0.134963 max rss (kb): 246612 page reclaims: 44857 page faults: 0 fs block inputs: 0 fs block outputs: 11704 voluntary ctxt switches: 1043 involuntary ctxt switches: 326 Completed chrono v0.4.15 in 1.3s [RUSTC-TIMING] rustc_rayon test:false 1.332 user: 1.763912 sys: 0.75996 max rss (kb): 239076 page reclaims: 35285 page faults: 0 fs block inputs: 0 fs block outputs: 19576 voluntary ctxt switches: 359 involuntary ctxt switches: 168 Completed rustc-rayon v0.3.0 in 1.3s Compiling matchers v0.0.1 [RUSTC-TIMING] matchers test:false 0.100 user: 0.94495 sys: 0.15119 max rss (kb): 140076 page reclaims: 8200 page faults: 0 fs block inputs: 0 fs block outputs: 392 voluntary ctxt switches: 43 involuntary ctxt switches: 12 Completed matchers v0.0.1 in 0.1s [...] ```
2021-03-01Rollup merge of #82531 - GuillaumeGomez:gui-tests-start, r=jyn514Yuki Okushi-0/+37
Add GUI tests The start of a lot more of GUI tests! \o/ One test is to ensure that the search input can always be selected in all rustdoc "modes" (mobile, tablet mostly) whereas the second checks the shortcuts. r? `@jyn514`
2021-03-01Rollup merge of #82507 - jyn514:tidy-windows, r=Mark-SimulacrumYuki Okushi-1/+12
Rename the `tidy` binary to `rust-tidy` This avoids naming collisions, particularly on Windows where the dynamic library variable is PATH and setting it causes the in-tree `tidy` to take precedence over the HTML tidy used by compiletest. This doesn't change the x.py interface in any way, it still accepts `x.py test tidy` and prints error messages about `tidy`. It only changes the name of the file on disk. Fixes https://github.com/rust-lang/rust/issues/82501.
2021-03-01Rollup merge of #82403 - ↵Yuki Okushi-0/+6
pnkfelix:rustbuild-emit-env-vars-on-verbose-verbose, r=Mark-Simulacrum rustbuild: print out env vars on verbose rustc invocations Print out environment variables related to Rust on sufficiently verbose rustc invocations. Output is filtered via heuristic of only printing environment variables whose keys start with "RUST" or "CARGO." This filtering is mostly motivated by my not caring to see e.g. "PATH" in my own output, though it is also motivated as a way to try to avoid printing out personal secrets like github keys that people might have stored in their environments for better or for worse, especially since build output is often pasted into bug reports or gists. Fix #38686. <details> <summary>Click here to see sample output</summary> Sample output looks like: ``` ... Fresh core v0.0.0 (/home/pnkfelix/Dev/Rust/rust.git/library/core) rustc env[0]: "CARGO"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" rustc env[1]: "CARGO_CRATE_NAME"="core" rustc env[2]: "CARGO_INCREMENTAL"="0" rustc env[3]: "CARGO_MAKEFLAGS"="--jobserver-fds=5,6 -j --jobserver-auth=5,6 -j" rustc env[4]: "CARGO_MANIFEST_DIR"="/home/pnkfelix/Dev/Rust/rust.git/library/core" rustc env[5]: "CARGO_PKG_AUTHORS"="The Rust Project Developers" rustc env[6]: "CARGO_PKG_DESCRIPTION"="" rustc env[7]: "CARGO_PKG_HOMEPAGE"="" rustc env[8]: "CARGO_PKG_LICENSE"="" rustc env[9]: "CARGO_PKG_LICENSE_FILE"="" rustc env[10]: "CARGO_PKG_NAME"="core" rustc env[11]: "CARGO_PKG_REPOSITORY"="" rustc env[12]: "CARGO_PKG_VERSION"="0.0.0" rustc env[13]: "CARGO_PKG_VERSION_MAJOR"="0" rustc env[14]: "CARGO_PKG_VERSION_MINOR"="0" rustc env[15]: "CARGO_PKG_VERSION_PATCH"="0" rustc env[16]: "CARGO_PKG_VERSION_PRE"="" rustc env[17]: "CARGO_PROFILE_RELEASE_CODEGEN_UNITS"="256" rustc env[18]: "CARGO_PROFILE_RELEASE_DEBUG"="0" rustc env[19]: "CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS"="false" rustc env[20]: "CARGO_TARGET_DIR"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0-std" rustc env[21]: "RUSTBUILD_NATIVE_DIR"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/native" rustc env[22]: "RUSTC"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/bootstrap/debug/rustc" rustc env[23]: "RUSTC_BOOTSTRAP"="1" rustc env[24]: "RUSTC_BREAK_ON_ICE"="1" rustc env[25]: "RUSTC_ERROR_METADATA_DST"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/tmp/extended-error-metadata" rustc env[26]: "RUSTC_FORCE_UNSTABLE"="1" rustc env[27]: "RUSTC_INSTALL_BINDIR"="bin" rustc env[28]: "RUSTC_LIBDIR"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/lib" rustc env[29]: "RUSTC_LINT_FLAGS"="-Wrust_2018_idioms -Wunused_lifetimes -Dwarnings" rustc env[30]: "RUSTC_PRINT_STEP_TIMINGS"="1" rustc env[31]: "RUSTC_REAL"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/bin/rustc" rustc env[32]: "RUSTC_SNAPSHOT"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/bin/rustc" rustc env[33]: "RUSTC_SNAPSHOT_LIBDIR"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/lib" rustc env[34]: "RUSTC_STAGE"="0" rustc env[35]: "RUSTC_SYSROOT"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0-sysroot" rustc env[36]: "RUSTC_VERBOSE"="2" rustc env[37]: "RUSTDOC"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/bootstrap/debug/rustdoc" rustc env[38]: "RUSTDOCFLAGS"="--cfg=bootstrap -Dwarnings -Winvalid_codeblock_attributes --crate-version 1.52.0-dev" rustc env[39]: "RUSTDOC_REAL"="/path/to/nowhere/rustdoc/not/required" rustc env[40]: "RUSTFLAGS"="--cfg=bootstrap -Zmacro-backtrace -Clink-args=-Wl,-rpath,$ORIGIN/../lib -Cprefer-dynamic" rustc env[41]: "RUST_COMPILER_RT_ROOT"="/home/pnkfelix/Dev/Rust/rust.git/src/llvm-project/compiler-rt" rustc env[42]: "RUST_TEST_THREADS"="128" rustc working directory: /home/pnkfelix/Dev/Rust/rust.git rustc command: "LD_LIBRARY_PATH"="/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/lib:/home/pnkfelix/Dev/Rust/rust.git/objdi\ r-default/build/x86_64-unknown-linux-gnu/stage0-std/release/deps:/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/lib" "/home\ /pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0/bin/rustc" "--crate-name" "core" "--edition=2018" "library/core/src/lib.rs" "--er\ ror-format=json" "--json=diagnostic-rendered-ansi,artifacts" "--crate-type" "lib" "--emit=dep-info,metadata,link" "-C" "opt-level=3" "-C" "embed-bitcode=no" "-C" \ "codegen-units=256" "-C" "debuginfo=0" "-C" "metadata=6748933694d8be19" "-C" "extra-filename=-6748933694d8be19" "--out-dir" "/home/pnkfelix/Dev/Rust/rust.git/objd\ ir-default/build/x86_64-unknown-linux-gnu/stage0-std/x86_64-unknown-linux-gnu/release/deps" "--target" "x86_64-unknown-linux-gnu" "-L" "dependency=/home/pnkfelix/\ Dev/Rust/rust.git/objdir-default/build/x86_64-unknown-linux-gnu/stage0-std/x86_64-unknown-linux-gnu/release/deps" "-L" "dependency=/home/pnkfelix/Dev/Rust/rust.gi\ t/objdir-default/build/x86_64-unknown-linux-gnu/stage0-std/release/deps" "--cfg=bootstrap" "-Zmacro-backtrace" "-Clink-args=-Wl,-rpath,$ORIGIN/../lib" "-Cprefer-d\ ynamic" "-Z" "binary-dep-depinfo" "-Wrust_2018_idioms" "-Wunused_lifetimes" "-Dwarnings" "--sysroot" "/home/pnkfelix/Dev/Rust/rust.git/objdir-default/build/x86_64\ -unknown-linux-gnu/stage0-sysroot" "-Z" "force-unstable-if-unmarked" ... ```
2021-03-01Rollup merge of #82309 - jyn514:rustdocflags, r=Mark-SimulacrumYuki Okushi-9/+21
Propagate RUSTDOCFLAGS in the environment when documenting Previously, RUSTDOCFLAGS would get overriden when bootstrap set `RUSTDOCFLAGS` itself. Propagate the flag manually, using the same logic as `RUSTFLAGS`. Fixes https://github.com/rust-lang/rust/issues/75256.
2021-03-01Auto merge of #82440 - ssomers:btree_fix_casts, r=Mark-Simulacrumbors-8/+10
BTree: no longer define impossible casts Casts to leaf to internal only make sense when the original has a chance of being the thing it's cast to. r? `@Mark-Simulacrum`
2021-02-28Add more proc-macro attribute testsAaron Hill-371/+2249
2021-03-01Auto merge of #81094 - ssomers:btree_drainy_refactor_3, r=Mark-Simulacrumbors-118/+228
BTreeMap: split up range_search into two stages `range_search` expects the caller to pass the same root twice and starts searching a node for both bounds of a range. It's not very clear that in the early iterations, it searches twice in the same node. This PR splits that search up in an initial `find_leaf_edges_spanning_range` that postpones aliasing until the last second, and a second phase for continuing the search for the range in the each subtree independently (`find_lower_bound_edge` & `find_upper_bound_edge`), which greatly helps for use in #81075. It also moves those functions over to the search module. r? `@Mark-Simulacrum`
2021-03-01Auto merge of #82601 - terhechte:catalyst-support-m1-fix, r=petrochenkovbors-5/+3
Fixed support for macOS Catalyst on ARM64 When I initially added Arm64 Catalyst support in https://github.com/rust-lang/rust/pull/77484 I had access to a DTK. However, while waiting to merge the PR some other changes were merged which caused conflicts in the branch. When fixing those conflicts I had no access to the DTK anymore and didn't try out if the resulting binaries did indeed work on Apple Silicon. I finally have a M1 and I realized that some small changes were necessary to support Apple Silicon. This PR adds the required changes. I've been running binaries generated with this branch for some time now and they work without issues.
2021-02-28Add GUI testsGuillaume Gomez-0/+37
2021-02-28Auto merge of #81349 - jyn514:blanket-impls-cleanup, r=lcnrbors-48/+33
Remove unnecessary `self_ty` parameter to `get_blanket_impls` It can be calculated when necessary at the callsite, there's no need to pass it separately. This also renames `param_env_def_id` to `item_def_id`. cc `@eddyb`
2021-02-28Remove unnecessary `self_ty` parameter to `get_blanket_impls`Joshua Nelson-48/+33
It can be calculated when necessary at the callsite, there's no need to pass it separately. This also renames `param_env_def_id` to `item_def_id`.
2021-02-28Auto merge of #82560 - tspiteri:releases-typo, r=ehussbors-1/+1
fix typo in RELEASES.md
2021-02-28Fix a typo in the `find_anon_type` docYuki Okushi-1/+1
2021-02-28Try to clarify GlobalAlloc::realloc documentation comment.Vytautas Astrauskas-2/+5
2021-02-28Auto merge of #82603 - RalfJung:miri, r=RalfJungbors-7/+10
update Miri Pulls in a fix for unnecessary rebuilds that basically breaks Playground.
2021-02-28update MiriRalf Jung-7/+10
2021-02-28Auto merge of #82350 - ehuss:test-chapter, r=jyn514bors-9/+289
Add a chapter on the test harness. There isn't really any online documentation on the test harness, so this adds a chapter to the rustc book which provides information on how the harness works and details on the command-line options.
2021-02-28Auto merge of #82605 - cuviper:issue81051, r=nikicbors-0/+0
Revert LLVM D81803 because it broke Windows 7 This submodule update reverts <https://reviews.llvm.org/D81803>. While that change is meant to fix a real bug, [LLVM PR42623], it caused new permission errors on Windows 7 that make it unable to build any archives. This is probably the same root cause as [LLVM PR48378]. Fixes #81051. We'll file a new Rust issue to track the LLVM resolution. [LLVM PR42623]: https://bugs.llvm.org/show_bug.cgi?id=42623 [LLVM PR48378]: https://bugs.llvm.org/show_bug.cgi?id=48378
2021-02-28Propagate `--test-args` for `x.py test src/tools/cargo`Joshua Nelson-0/+1
2021-02-28Auto merge of #82594 - nagisa:nagisa/remove-rumprun, r=petrochenkovbors-68/+4
Remove the x86_64-rumprun-netbsd target Herein we remove the target from the compiler and the code from libstd intended to support the now-defunct rumprun project. Closes #81514
2021-02-28Auto merge of #82611 - Dylan-DPC:rollup-l7xlpks, r=Dylan-DPCbors-33/+102
Rollup of 11 pull requests Successful merges: - #81856 (Suggest character encoding is incorrect when encountering random null bytes) - #82395 (Add missing "see its documentation for more" stdio) - #82401 (Remove a redundant macro) - #82498 (Use log level to control partitioning debug output) - #82534 (Link crtbegin/crtend on musl to terminate .eh_frame) - #82537 (Update measureme dependency to the latest version) - #82561 (doc: cube root, not cubic root) - #82563 (Fix intra-doc handling of `Self` in enum) - #82584 (Add ARIA role to sidebar toggle in Rustdoc) - #82596 (clarify RW lock's priority gotcha) - #82607 (Add a getter for Frame.loc) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-02-27Rollup merge of #82607 - bjorn3:frame_loc_getter, r=RalfJungDylan DPC-0/+10
Add a getter for Frame.loc This is necessary for Priroda. For context see https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/Frame.3A.3Aloc.20no.20longer.20public/near/228070266 and oli-obk/priroda#27. cc `@DJMcNab` r? `@RalfJung`
2021-02-27Rollup merge of #82596 - matklad:rwlock, r=sfacklerDylan DPC-1/+3
clarify RW lock's priority gotcha In particular, the following program works on Linux, but deadlocks on mac: ```rust use std::{ sync::{Arc, RwLock}, thread, time::Duration, }; fn main() { let lock = Arc::new(RwLock::new(())); let r1 = thread::spawn({ let lock = Arc::clone(&lock); move || { let _rg = lock.read(); eprintln!("r1/1"); sleep(1000); let _rg = lock.read(); eprintln!("r1/2"); sleep(5000); } }); sleep(100); let w = thread::spawn({ let lock = Arc::clone(&lock); move || { let _wg = lock.write(); eprintln!("w"); } }); sleep(100); let r2 = thread::spawn({ let lock = Arc::clone(&lock); move || { let _rg = lock.read(); eprintln!("r2"); sleep(2000); } }); r1.join().unwrap(); r2.join().unwrap(); w.join().unwrap(); } fn sleep(ms: u64) { std::thread::sleep(Duration::from_millis(ms)) } ``` Context: I was completely mystified by a my CI deadlocking on mac ([here](https://github.com/matklad/xshell/pull/7)), until ``@azdavis`` debugged the issue. See a stand-alone reproduciton here: https://github.com/matklad/xshell/pull/15
2021-02-27Rollup merge of #82584 - tazjin:rustdoc-aria, r=GuillaumeGomezDylan DPC-1/+1
Add ARIA role to sidebar toggle in Rustdoc This indicates that the div is an interactive element, and makes the sidebar toggle "clickable" in assistive technologies. Example of Vimium after this change has been applied (see the issue mentioned below for a screenshot of before): ![Screenshot of Vimium link hints on a Rustdoc page, indicating that the sidebar toggle is clickable](https://user-images.githubusercontent.com/1552853/109384961-ff935400-78f8-11eb-8199-1d35181aeff0.png) Fixes #82582
2021-02-27Rollup merge of #82563 - lucas-deangelis:issue-82209-fix, r=jyn514Dylan DPC-0/+19
Fix intra-doc handling of `Self` in enum Fixes #82209
2021-02-27Rollup merge of #82561 - tspiteri:cube-root, r=Dylan-DPCDylan DPC-2/+2
doc: cube root, not cubic root Like we say square root, not quadratic root.
2021-02-27Rollup merge of #82537 - wesleywiser:update_measureme, r=oli-obkDylan DPC-5/+18
Update measureme dependency to the latest version This version adds the ability to use `rdpmc` hardware-based performance counters instead of wall-clock time for measuring duration. This also introduces a dependency on the `perf-event-open-sys` crate on Linux which is used when using hardware counters. r? ```@oli-obk```
2021-02-27Rollup merge of #82534 - nikic:musl-crtend, r=nagisaDylan DPC-7/+20
Link crtbegin/crtend on musl to terminate .eh_frame For some targets, rustc uses a "CRT fallback", where it links CRT object files it ships instead of letting the host compiler link them. On musl, rustc currently links crt1, crti and crtn (provided by libc), but does not link crtbegin and crtend (provided by libgcc). In particular, crtend is responsible for terminating the .eh_frame section. Lack of terminator may result in segfaults during unwinding, as reported in #47551 and encountered by the LLVM 12 update in #81451. This patch links crtbegin and crtend for musl as well, following the table at the top of crt_objects.rs. r? ``@nagisa``
2021-02-27Rollup merge of #82498 - tmiasko:partitioning-debug, r=matthewjasperDylan DPC-6/+15
Use log level to control partitioning debug output
2021-02-27Rollup merge of #82401 - osa1:remove_redundant_macro, r=matthewjasperDylan DPC-9/+9
Remove a redundant macro Turn the macro into a function. Also remove unused 'span' argument.
2021-02-27Rollup merge of #82395 - pickfire:see-more, r=GuillaumeGomezDylan DPC-2/+2
Add missing "see its documentation for more" stdio StdoutLock and StderrLock does not have example, it would be better to leave "see its documentation for more" like iter docs.
2021-02-27Rollup merge of #81856 - Smittyvb:utf16-warn, r=matthewjasperDylan DPC-0/+3
Suggest character encoding is incorrect when encountering random null bytes This adds a note whenever null bytes are seen at the start of a token unexpectedly, since those tend to come from UTF-16 encoded files without a [BOM](https://en.wikipedia.org/wiki/Byte_order_mark) (if a UTF-16 BOM appears it won't be valid UTF-8, but if there is no BOM it be both valid UTF-16 and valid but garbled UTF-8). This approach was suggested in https://github.com/rust-lang/rust/issues/73979#issuecomment-653976451. Closes #73979.
2021-02-27Add a getter for Frame.locbjorn3-0/+10
This is necessary for Priroda.
2021-02-27Revert LLVM D81803 because it broke Windows 7Josh Stone-0/+0
This submodule update reverts <https://reviews.llvm.org/D81803>. While that change is meant to fix a real bug, [LLVM PR42623], it caused new permission errors on Windows 7 that make it unable to build any archives. This is probably the same root cause as [LLVM PR48378]. Fixes #81051. We'll file a new Rust issue to track the LLVM resolution. [LLVM PR42623]: https://bugs.llvm.org/show_bug.cgi?id=42623 [LLVM PR48378]: https://bugs.llvm.org/show_bug.cgi?id=48378
2021-02-27Auto merge of #80454 - JulianKnodt:ob_forest_op, r=matthewjasperbors-20/+25
Skip Ty w/o infer ty/const in trait select Remove some allocations & also add `skip_current_subtree` to skip subtrees with no inferred items. r? `@eddyb` since marked in the FIXME
2021-02-27Fixed support for macOS Catalyst for Apple SiliconBenedikt Terhechte-5/+3
2021-02-27Update library/std/src/sync/rwlock.rsAleksey Kladov-1/+1
Co-authored-by: Steven Fackler <sfackler@gmail.com>
2021-02-27clarify RW lock's priority gotchaAleksey Kladov-1/+3
In particular, the following program works on Linux, but deadlocks on mac: use std::{ sync::{Arc, RwLock}, thread, time::Duration, }; fn main() { let lock = Arc::new(RwLock::new(())); let r1 = thread::spawn({ let lock = Arc::clone(&lock); move || { let _rg = lock.read(); eprintln!("r1/1"); sleep(1000); let _rg = lock.read(); eprintln!("r1/2"); sleep(5000); } }); sleep(100); let w = thread::spawn({ let lock = Arc::clone(&lock); move || { let _wg = lock.write(); eprintln!("w"); } }); sleep(100); let r2 = thread::spawn({ let lock = Arc::clone(&lock); move || { let _rg = lock.read(); eprintln!("r2"); sleep(2000); } }); r1.join().unwrap(); r2.join().unwrap(); w.join().unwrap(); } fn sleep(ms: u64) { std::thread::sleep(Duration::from_millis(ms)) }
2021-02-27Remove the x86_64-rumprun-netbsd targetSimonas Kazlauskas-68/+4
Closes #81514
2021-02-27Auto merge of #81874 - tesuji:spec_slice_fill, r=matthewjasperbors-7/+60
Specialize slice::fill with Copy type and u8/i8/bool I don't expect rustperf could measure any perf improvements with this changes since `slice::fill` is newly added. Godbolt link for this change: <https://rust.godbolt.org/z/r3fzee>. r? `@matthewjasper` since this patch added new specialization.