about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-07-10Auto merge of #2974 - RalfJung:rustup, r=RalfJungbors-2291/+4467
Rustup
2023-07-10Merge from rustcRalf Jung-2290/+4466
2023-07-10Preparing for merge from rustcRalf Jung-1/+1
2023-07-10Auto merge of #108796 - devsnek:personality-pal-exception, r=workingjubileebors-3/+1
move personality to sys this moves `personality` to sys, removing another PAL exception
2023-07-09move personality to sysGus Caplan-3/+1
2023-07-10Auto merge of #108485 - devsnek:float-pat-exception, r=workingjubileebors-38/+53
move pal cfgs in f32 and f64 to sys I'd like to push forward on `sys` being a separate crate. To start with, most of these PAL exception cases are very simple little bits of code like this, so I thought I would try tidying them up.
2023-07-09move pal cfgs in f32 and f64 to sysGus Caplan-38/+53
2023-07-10Auto merge of #113127 - jieyouxu:fix-error-color-summary, r=davidtwcobors-7/+15
Set error handler output format as soon as possible Should fix https://github.com/rust-lang/rust/pull/112692#issuecomment-1611585904.
2023-07-09Auto merge of #113389 - Zalathar:re-enable, r=Mark-Simulacrumbors-8/+8
Re-enable some coverage tests on Linux These tests were originally disabled (on all platforms) in #110393, because those changes had made them start failing on Linux for unclear reasons. I tried to re-enable them unconditionally in #111179, since they worked locally on my Mac, but I found that they were still failing on Linux, so I gave up at that time. Later while working on #112300 I was able to re-enable them on Windows and Mac, since those changes made it possible to add specific `ignore-` directives to individual tests. I noticed at the time that the tests actually seemed to be working again on Linux, but by that point I didn't want to risk more CI failures, so I left them disabled on Linux with an intention to re-enable them later. Now I'm going back to re-enable them on Linux too, since they seem to work fine. --- Because `run-coverage` tests are sensitive to line numbers, and `x test tidy` doesn't like leading blank lines, I've replaced the old comment/ignore with an informative comment that occupies the same number of lines.
2023-07-09Auto merge of #113341 - Kobzol:stage0-sysroot, r=Mark-Simulacrumbors-0/+43
Copy stage0 `rustc` binaries to `stage0-sysroot` This is basically a revival of https://github.com/rust-lang/rust/pull/101711 and https://github.com/rust-lang/rust/pull/107956, with an added check that the full sysroot will only be created if the original rustc comes from `stage0/bin`. What is/should be tested: - [x] `rustup toolchain link stage0` (new libstd is used correctly) - [x] `python3 x.py fmt dist --stage 0` - [x] Custom rustc/cargo in `config.toml` (in this case this logic is ignored) - [x] Perfbot (try perf run has succeeded) - [x] Real use case (https://github.com/rust-lang/backtrace-rs/pull/542) (Hopefully) fixes: https://github.com/rust-lang/rust/issues/101691 This is not the "end all, be all" solution to this problem, but as long as it resolves the basic use-case, and doesn't break perfbot, I say ship it. This code will probably be nuked anyway Soon™ because of the stage redesign.
2023-07-09Auto merge of #113508 - matthiaskrgr:rollup-xzrp4nt, r=matthiaskrgrbors-323/+758
Rollup of 5 pull requests Successful merges: - #111618 (Always name the return place.) - #113247 (Add Tests for native wasm exceptions) - #113273 (Use String or Int to set the opt level) - #113469 (Remove `default_free_fn` feature) - #113493 (additional io::copy specializations) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-09Auto merge of #2973 - RalfJung:returnplace, r=RalfJungbors-2/+124
test and fix return place alias restrictions
2023-07-09test and fix return place alias restrictionsRalf Jung-2/+124
2023-07-09Rollup merge of #113493 - the8472:spec-iocopy-slice, r=Mark-SimulacrumMatthias Krüger-3/+116
additional io::copy specializations - copying from `&[u8]` and `VecDeque<u8>` - copying to `Vec<u8>` A user on reddit [mentioned they saw a performance drop](https://www.reddit.com/r/rust/comments/14shv9f/comment/jr0bg6j/?context=3) when copying from a slice.
2023-07-09Rollup merge of #113469 - JohnTitor:rm-default-free-fn, r=AmanieuMatthias Krüger-107/+6
Remove `default_free_fn` feature Closes #73014 r? ``@Amanieu``
2023-07-09Rollup merge of #113273 - hi-rustin:rustin-patch-opt-level, r=KobzolMatthias Krüger-16/+76
Use String or Int to set the opt level Address https://github.com/rust-lang/rust/pull/112756/files#r1249345725 Use String or Int to set the opt level. r? ``@jyn514``
2023-07-09Rollup merge of #113247 - mirkootter:test-wasm-exceptions-nostd, ↵Matthias Krüger-2/+369
r=Mark-Simulacrum Add Tests for native wasm exceptions ### Motivation In PR #111322, I added support for native WASM exceptions. I was asked by ``@davidtwco`` to add some tests for it in a follow up PR, which seems like a very good idea. This PR adds three tests for this feature: * codegen: ensure the correct LLVM instructions are used * assembly: ensure the correct WASM instructions are used * run-make: ensure the exception handling works; the WASM code is run using a small nodejs script which demonstrates the exception handling ### Complications There are a few changes beside adding the tests, which were necessary * Tests for the wasm32-unknown-unknown target are (as far as I know) only run on `test-various`. Its docker image uses nodejs-15, which is very old. Experimental support for wasm-exceptions was added in nodejs16. In nodejs 18.12 (LTS), they are stable. - --> increase nodejs to 18.12 in `test-various` * codegen/assembly tests are not performed for the wasm32-unknown-unknown target yet - --> add those to `test-various` as well Due to the last point, some tests are run which have not run before (assembly+codegen tests for wasm32-unknown-unknown). I added `// ignore wasm32-bare` for those which failed ### Local testing I run all tests locally using both `test-various` and `wasm32`. As far as I know, none of the other systems run any test for wasm32 targets.
2023-07-09Rollup merge of #111618 - cjgillot:name-return-place, r=tmiaskoMatthias Krüger-195/+191
Always name the return place. MIR opts more and more consider `_0` as just another local, so there is no point in keeping the special case in debug-info logic.
2023-07-09Auto merge of #113488 - RalfJung:miri, r=RalfJungbors-100/+253
update Miri
2023-07-09Auto merge of #113306 - tgross35:debuginfo-better-output, r=Mark-Simulacrumbors-108/+131
Update debuginfo test runner to provide more useful output This change makes debuginfo tests more user friendly. Changes: - Print all lines that fail to match the patterns instead of just the first - Provide better error messages that also say what did match - Strip leading whitespace from directives so they are not skipped if indented - Improve documentation and improve nesting on some related items As an example, given the following intentional fail (and a few not shown): ```rust // from tests/debuginfo/rc_arc.rs // cdb-command:dx rc,d // cdb-check:rc,d : 111 [Type: alloc::rc::Rc<i32>] // cdb-check: [Reference count] : 11 [Type: core::cell FAIL::Cell<usize>] // cdb-check: [Weak reference count] : 2 [Type: core::cell FAIL::Cell<usize>] ``` The current output (tested in #113313) will show: ``` 2023-07-04T08:10:00.1939267Z ---- [debuginfo-cdb] tests\debuginfo\rc_arc.rs stdout ---- 2023-07-04T08:10:00.1942182Z 2023-07-04T08:10:00.1957463Z error: line not found in debugger output: [Reference count] : 11 [Type: core:: cell FAIL::Cell<usize>] 2023-07-04T08:10:00.1958272Z status: exit code: 0 ``` With this chane, you are able to see all failures in that check group, as well as what parts were successful. The output is now: ``` 2023-07-04T09:45:57.2514224Z error: check directive(s) from `C:\a\rust\rust\tests\debuginfo\rc_arc.rs` not found in debugger output. errors: 2023-07-04T09:45:57.2514631Z (rc_arc.rs:31) ` [Reference count] : 11 [Type: core::cell FAIL::Cell<usize>]` 2023-07-04T09:45:57.2514908Z (rc_arc.rs:32) ` [Weak reference count] : 2 [Type: core::cell FAIL::Cell<usize>]` 2023-07-04T09:45:57.2515181Z (rc_arc.rs:41) ` [Reference count] : 21 [Type: core::sync::atomic FAIL::AtomicUsize]` 2023-07-04T09:45:57.2515452Z (rc_arc.rs:50) `dyn_rc,d [Type: alloc::rc::Rc<dyn$<core::fmt FAIL::Debug> >]` 2023-07-04T09:45:57.2515695Z the following subset of check directive(s) was found successfully:: 2023-07-04T09:45:57.2516080Z (rc_arc.rs:30) `rc,d : 111 [Type: alloc::rc::Rc<i32>]` 2023-07-04T09:45:57.2516312Z (rc_arc.rs:35) `weak_rc,d : 111 [Type: alloc::rc::Weak<i32>]` 2023-07-04T09:45:57.2516555Z (rc_arc.rs:36) ` [Reference count] : 11 [Type: core::cell::Cell<usize>]` 2023-07-04T09:45:57.2516881Z (rc_arc.rs:37) ` [Weak reference count] : 2 [Type: core::cell::Cell<usize>]` ... ``` Which makes it easier to see what did and didn't succeed without manual comparison against the source test file.
2023-07-09Auto merge of #112235 - Kobzol:opt-dist, r=Mark-Simulacrumbors-1140/+1802
Port PGO/LTO/BOLT optimized build pipeline to Rust This PR ports the `stage-build.py` PGO/LTO/BOLT optimization script from Python to Rust, to make it easier to use dependencies, and make it a bit more robust. The PR switches both the Linux and Windows dist runners to the Rust script and removes the old Python script. Funnily enough, the Rust port has less lines of code than the Python script :) I think that clearly shows that the Python script really lacked dependencies.
2023-07-09Port PGO/LTO/BOLT optimized build pipeline to RustJakub Beránek-1140/+1802
2023-07-09Use String or Int to set the opt levelhi-rustin-16/+76
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-07-09Auto merge of #113276 - Nilstrieb:rustix, r=Mark-Simulacrumbors-11/+9
Update rustix The issue has been fixed. https://github.com/bytecodealliance/rustix/issues/716
2023-07-09Auto merge of #113485 - Mark-Simulacrum:bump-version, r=Mark-Simulacrumbors-1/+1
Bump version to 1.73 r? `@Mark-Simulacrum`
2023-07-09additional io::copy specializationsThe 8472-3/+116
- copying from `&[u8]` and `VecDeque<u8>` - copying to `Vec<u8>`
2023-07-08Auto merge of #113491 - matthiaskrgr:rollup-mueqz7h, r=matthiaskrgrbors-302/+996
Rollup of 6 pull requests Successful merges: - #113005 (Don't call `query_normalize` when reporting similar impls) - #113064 (std: edit [T]::swap docs) - #113138 (Add release notes for 1.71.0) - #113217 (resolve typerelative ctors to adt) - #113254 (Use consistent formatting in Readme) - #113482 (Migrate GUI colors test to original CSS color format) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-08Rollup merge of #113482 - GuillaumeGomez:migrate-gui-test-color-20, r=notriddleMatthias Krüger-6/+6
Migrate GUI colors test to original CSS color format Follow-up of https://github.com/rust-lang/rust/pull/111459. r? ``@notriddle``
2023-07-08Rollup merge of #113254 - atouchet:rd3, r=Mark-SimulacrumMatthias Krüger-12/+17
Use consistent formatting in Readme
2023-07-08Rollup merge of #113217 - ericmarkmartin:lower-type-relative-ctor-to-adt, ↵Matthias Krüger-16/+529
r=cjgillot resolve typerelative ctors to adt Associated issue: #110508 r? ``@spastorino``
2023-07-08Rollup merge of #113138 - cuviper:relnotes-1.71.0, r=Mark-SimulacrumMatthias Krüger-0/+143
Add release notes for 1.71.0 r? ``@Mark-Simulacrum`` cc ``@rust-lang/release``
2023-07-08Rollup merge of #113064 - marcospb19:add-note-in-vec-swap-docs, ↵Matthias Krüger-0/+2
r=Mark-Simulacrum std: edit [T]::swap docs Add a note about what happens when index arguments are equal.
2023-07-08Rollup merge of #113005 - compiler-errors:dont-query-normalize, r=cjgillotMatthias Krüger-268/+299
Don't call `query_normalize` when reporting similar impls Firstly, It's sketchy to be using `query_normalize` at all during HIR typeck -- it's asking for an ICE 😅. Secondly, we're normalizing an impl trait ref that potentially has parameter types in `ty::ParamEnv::empty()`, which is kinda sketchy as well. The only UI test change from removing this normalization is that we don't evaluate anonymous constants in impls, which end up giving us really ugly suggestions: ``` error[E0277]: the trait bound `[X; 35]: Default` is not satisfied --> /home/gh-compiler-errors/test.rs:4:5 | 4 | <[X; 35] as Default>::default(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `[X; 35]` | = help: the following other types implement trait `Default`: &[T] &mut [T] [T; 32] [T; core::::array::{impl#30}::{constant#0}] [T; core::::array::{impl#31}::{constant#0}] [T; core::::array::{impl#32}::{constant#0}] [T; core::::array::{impl#33}::{constant#0}] [T; core::::array::{impl#34}::{constant#0}] and 27 others ``` So just fold the impls with a `BottomUpFolder` that calls `ty::Const::eval`. This doesn't work totally correctly with generic-const-exprs, but it's fine for stable code, and this is error reporting after all.
2023-07-08Auto merge of #113484 - matthiaskrgr:rollup-goq2u0d, r=matthiaskrgrbors-89/+181
Rollup of 7 pull requests Successful merges: - #112931 (Enable zlib in LLVM on aarch64-apple-darwin) - #113158 (tests: unset `RUSTC_LOG_COLOR` in a test) - #113173 (CI: include workflow name in concurrency group) - #113335 (Reveal opaques in new solver) - #113390 (CGU formation tweaks) - #113399 (Structurally normalize again for byte string lit pat checking) - #113412 (Add basic types to SMIR) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-08update lockfileRalf Jung-2/+2
2023-07-08Auto merge of #113450 - Nilstrieb:src/bootstrap/test.rs, r=flip1995bors-19/+4
Fail the build if clippy tests don't pass This was removed in https://github.com/rust-lang/rust/pull/113260/commits/de69d556eb5006a21f868b8c12d48f0ef1308a5a#diff-8479eab02701e686aedb15b567dc8fc31220c6e4efb9565ccc9d662b7fee2214 which caused CI to ignore clippy failures. This adds back the exit, which should cause CI to fail again if a test is broken (like right now, as clippy tests are broken on master). Also see https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/CI.20doesn't.20care.20about.20clippy.20test.20failures.20but.20only.20sometime r? flip1995
2023-07-08Delete `to_string_in_format_args_incremental.rs`Nilstrieb-19/+0
It fails CI and passes locally. It passes random directores in `-Cincremental` so maybe something's up. It shouldn't block us here.
2023-07-08Fail the build if clippy tests don't passNilstrieb-0/+4
This was removed in https://github.com/rust-lang/rust/pull/113260/commits/de69d556eb5006a21f868b8c12d48f0ef1308a5a#diff-8479eab02701e686aedb15b567dc8fc31220c6e4efb9565ccc9d662b7fee2214 which caused CI to ignore clippy failures. This adds back the exit, which should cause CI to fail again if a test is broken (like right now, as clippy tests are broken on master).
2023-07-08Bump versionMark Rousskov-1/+1
2023-07-08Rollup merge of #113412 - spastorino:smir-types-1, r=oli-obkMatthias Krüger-9/+99
Add basic types to SMIR Still incomplete but I think this can be merged and we can keep iterating over it. r? ``@oli-obk``
2023-07-08Rollup merge of #113399 - compiler-errors:next-solver-byte-pat-again, r=oli-obkMatthias Krüger-14/+3
Structurally normalize again for byte string lit pat checking We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used[^1] to call `structurally_resolve_type`, which errors for type vars[^2], but lcnr added `try_structurally_resolve_type`[^3] in the mean time, which is the right thing to use here since it's totally opportunistic. Fixes rust-lang/trait-system-refactor-initiative#38 [^1]: #112428 [^2]: #112993 [^3]: #113086
2023-07-08Rollup merge of #113390 - nnethercote:cgu-tweaks, r=wesleywiserMatthias Krüger-24/+24
CGU formation tweaks Minor improvements I found while trying out something bigger that didn't work out. r? ``@wesleywiser``
2023-07-08Rollup merge of #113335 - compiler-errors:reveal-opaques-in-new-solver, r=lcnrMatthias Krüger-38/+50
Reveal opaques in new solver We were testing against the wrong reveal mode :fearful: Also a couple of misc commits that I don't want to really put in separate prs r? ``@lcnr``
2023-07-08Rollup merge of #113173 - Kobzol:ci-concurrency-group-workflow, r=pietroalbiniMatthias Krüger-2/+2
CI: include workflow name in concurrency group Currently, this won't change anything, because we only have one relevant workflow (`CI`), but for future proofing we should probably include the workflow name in the concurrency group. Found by ``@klensy`` [here](https://github.com/rust-lang/rust/pull/113059#discussion_r1247213606).
2023-07-08Rollup merge of #113158 - davidtwco:unset-rustc-log-color-in-test, r=wesleywiserMatthias Krüger-0/+1
tests: unset `RUSTC_LOG_COLOR` in a test Setting `RUSTC_LOG_COLOR=always` is sometimes useful if tools that one pipes `RUSTC_LOG` into support coloured output, but it makes this test fail because it has a `.stderr` file with `WARN` log output.
2023-07-08Rollup merge of #112931 - cbeuw:apple-zlib, r=Mark-SimulacrumMatthias Krüger-2/+2
Enable zlib in LLVM on aarch64-apple-darwin Works on macOS 13.4, Xcode version 14.3.1.0.1.1683849156 This was disabled in #75500 on Apple Silicon Developer Transition Kit, but Apple appears to have fixed their zlib now
2023-07-08Auto merge of #113376 - ↵bors-185/+214
Nilstrieb:pointer-coercions-are-not-casts-because-that-sounds-way-to-general-aaaa, r=oli-obk Rename `adjustment::PointerCast` and variants using it to `PointerCoercion` It makes it sounds like the `ExprKind` and `Rvalue` are supposed to represent all pointer related casts, when in reality their just used to share a little enum variants. Make it clear there these are only coercions and that people who see this and think "why are so many pointer related casts not in these variants" aren't insane. This enum was added in #59987. I'm not sure whether the variant sharing is actually worth it, but this at least makes it less confusing. r? oli-obk
2023-07-08Always name the return place.Camille GILLOT-195/+191
2023-07-08Migrate GUI colors test to original CSS color formatGuillaume Gomez-6/+6
2023-07-08Auto merge of #113474 - compiler-errors:rollup-07x1up7, r=compiler-errorsbors-56/+250
Rollup of 8 pull requests Successful merges: - #113413 (Add needs-triage to all new issues) - #113426 (Don't ICE in `resolve_bound_vars` when associated return-type bounds are in bad positions) - #113427 (Remove `variances_of` on RPITIT GATs, remove its one use-case) - #113441 (miri: check that assignments do not self-overlap) - #113453 (Remove unused from_method from rustc_on_unimplemented) - #113456 (Avoid calling report_forbidden_specialization for RPITITs) - #113466 (Update cargo) - #113467 (Fix comment of `fn_can_unwind`) r? `@ghost` `@rustbot` modify labels: rollup