about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2023-08-07Auto merge of #114344 - Kobzol:opt-dist-llvm-profdata, r=nikicbors-11/+23
Use the correct `llvm-profdata` binary in `opt-dist` Turns out that we were probably using the wrong `llvm-profdata` binary in the PGO script all along. This should resolve the performance regressions of switching the host LLVM to 17 ([host `llvm-profdata`](https://github.com/rust-lang/rust/pull/114297#issuecomment-1660521361), [target `llvm-profdata`](https://github.com/rust-lang/rust/pull/114297#issuecomment-1661127032)]). r? `@nikic`
2023-08-07Rollup merge of #114573 - Kobzol:ci-no-group-on-error, r=oli-obkMatthias Krüger-2/+14
CI: do not hide error logs in a group This PR avoids creating a GHA group at the very end of a CI workflow when some failure has happened. Before, when a failure has happened, its GHA group was not closed, however the clock drift check function would create a new group, which would actually close the group containing the error log, thus making errors hidden by default, which is not ideal. See discussion here: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/GHA.20groups.20being.20closed.20on.20failures r? bootstrap
2023-08-07Rollup merge of #114570 - ttsugriy:miri-vc-typo, r=RalfJungMatthias Krüger-1/+1
[miri][typo] Fix a typo in a vector_block comment.
2023-08-07Rollup merge of #114562 - Trolldemorted:thiscall, r=oli-obkMatthias Krüger-28/+0
stabilize abi_thiscall Closes https://github.com/rust-lang/rust/issues/42202, stabilizing the use of the "thiscall" ABI. FCP was substituted by a poll, and the poll has been accepted.
2023-08-07Store the laziness of type aliases in the DefKindLeón Orell Valerian Liehr-12/+31
2023-08-07stabilize abi_thiscallBenedikt Radtke-28/+0
2023-08-07Auto merge of #114576 - lnicola:sync-from-ra, r=lnicolabors-1042/+4248
:arrow_up: `rust-analyzer` r? `@ghost`
2023-08-07Merge commit 'baee6b338b0ea076cd7a9f18d47f175dd2ba0e5d' into sync-from-raLaurențiu Nicola-1042/+4248
2023-08-07Do not hide CI error logs in a group when a failure happensJakub Beránek-2/+14
2023-08-07Auto merge of #114560 - RalfJung:miri, r=RalfJungbors-778/+1645
update Miri
2023-08-07add the correct version of LLVM into the stage0 sysrootozkanonur-0/+10
In some cases(see https://github.com/rust-lang/rust/issues/109314), when the stage0 compiler relies on more recent version of LLVM than the beta compiler, it may not be able to locate the correct LLVM in the sysroot. This situation typically occurs when we upgrade LLVM version while the beta compiler continues to use an older version. Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-08-07Auto merge of #114569 - matthiaskrgr:rollup-p8tcxtz, r=matthiaskrgrbors-4/+4
Rollup of 8 pull requests Successful merges: - #98935 (Implement `Option::take_if`) - #114093 (Add regression test for `echo 'mod unknown;' | rustc -`) - #114229 (Nest tests/codegen/sanitizer*.rs tests in sanitizer dir) - #114230 (Nest other codegen test topics) - #114362 (string.rs: remove "Basic usage" text) - #114365 (str.rs: remove "Basic usage" text) - #114382 (Add a new `compare_bytes` intrinsic instead of calling `memcmp` directly) - #114549 (Style fix and refactor on resolve diagnostics) r? `@ghost` `@rustbot` modify labels: rollup
2023-08-06[miri][typo] Fix a typo in a vector_block comment.Taras Tsugrii-1/+1
2023-08-07Rollup merge of #114382 - scottmcm:compare-bytes-intrinsic, r=cjgillotMatthias Krüger-4/+4
Add a new `compare_bytes` intrinsic instead of calling `memcmp` directly As discussed in #113435, this lets the backends be the place that can have the "don't call the function if n == 0" logic, if it's needed for the target. (I didn't actually *add* those checks, though, since as I understood it we didn't actually need them on known targets?) Doing this also let me make it `const` (unstable), which I don't think `extern "C" fn memcmp` can be. cc `@RalfJung` `@Amanieu`
2023-08-07Auto merge of #114206 - sethp:patch-1, r=Mark-Simulacrumbors-1/+1
fix(ci): Ensure idempotence of user creation Previously, re-running `run.sh` in the same container would fail at the useradd step, because the user already exists. Instead, change that step to "create if not exists" semantics to ease interactive debugging of CI failures. Split out from https://github.com/rust-lang/rust/pull/111891 per request by `@jackh726`
2023-08-07Auto merge of #112916 - tgross35:patch-1, r=Mark-Simulacrumbors-3/+15
Add more context to `quit_if_file_exists` in `configure.py` & delete config.toml in CI If the `obj` directory isn't empty, the error message is subtle and not very helpful: ``` == clock drift check == local time: Sun Jul 2 00:57:06 UTC 2023 network time: Sun, 02 Jul 2023 00:57:06 GMT == end clock drift check == sccache: Starting the server... configure: error: Existing 'config.toml' detected. == clock drift check == local time: Sun Jul 2 00:57:06 UTC 2023 network time: Sun, 02 Jul 2023 00:57:06 GMT == end clock drift check == ``` This makes it stand out and suggests how to resolve the issue: ``` == clock drift check == local time: Sun Jul 2 02:11:30 UTC 2023 network time: Sun, 02 Jul 2023 02:11:31 GMT == end clock drift check == sccache: Starting the server... configure: ERROR: Existing 'config.toml' detected. Exiting Is objdir '/home/tmgross/projects/rust/obj' clean? == clock drift check == local time: Sun Jul 2 02:11:31 UTC 2023 network time: Sun, 02 Jul 2023 02:11:31 GMT == end clock drift check == ```
2023-08-06Add a new `compare_bytes` intrinsic instead of calling `memcmp` directlyScott McMurray-4/+4
2023-08-07Rollup merge of #114535 - klensy:windows-sys-0-42, r=compiler-errorsMatthias Krüger-1/+1
bump schannel, miow to drop windows-sys 0.42 Changes contains almost only of update to windows-sys 0.48 https://github.com/steffengy/schannel-rs/compare/v0.1.21...v0.1.22 https://github.com/yoshuawuyts/miow/compare/v0.5.0...v0.6.0
2023-08-06Auto merge of #3016 - RalfJung:is_reserved, r=RalfJungbors-2/+2
fix typo: is_reserved
2023-08-06fix typo: is_reservedRalf Jung-2/+2
2023-08-06rustc-pull: put a newline after the commit IDRalf Jung-1/+1
2023-08-06Rollup merge of #114539 - Enselic:unneeded-fixme, r=ehussMatthias Krüger-1/+0
linkchecker: Remove unneeded FIXME about intra-doc links It was added by https://github.com/rust-lang/rust/pull/77971 but the adder [proposed](https://github.com/rust-lang/rust/pull/77971#issuecomment-710026798) that the added code is a good fallback to have in case rustdoc gets buggy, and I agree. So remove the FIXME. This PR is part of #44366 which is E-help-wanted. r? `@jyn514` since you added the FIXME `@rustbot` label T-dev-tools
2023-08-06Rollup merge of #114505 - ouz-a:cleanup_mir, r=RalfJungMatthias Krüger-1/+1
Add documentation to has_deref Documentation of `has_deref` needed some polish to be more clear about where it should be used and what's it's purpose. cc https://github.com/rust-lang/rust/issues/114401 r? `@RalfJung`
2023-08-06cleanup misinformation regarding has_derefouz-a-1/+1
2023-08-06linkchecker: Remove unneeded FIXME about intra-doc linksMartin Nordholts-1/+0
It was added by 77971 but the adder proposed in that PR that the added code is a good fallback to have in case rustdoc gets buggy, and I agree. So remove the FIXME.
2023-08-06bump schannel, miow to drop windows-sys 0.42klensy-1/+1
2023-08-06fix(bootstrap): rename exclude flag to skip 🐛Meysam Azad-46/+129
2023-08-05Auto merge of #114143 - Enselic:rename-issue-100605, r=eholkbors-1/+1
Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rs The test is a regression test for a [bug ](https://github.com/rust-lang/rust/issues/100605) where the compiler gave bad advice for an `Option<&String>`. Rename the file appropriately. Part of #73494
2023-08-05Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rsMartin Nordholts-1/+1
The test is a regression test for a bug where the compiler gave bad advice for an `Option<&String>`. Rename the file appropriately.
2023-08-05Rollup merge of #114498 - chenyukang:yukang-fix-tidy-tip, r=ozkanonurMatthias Krüger-1/+1
Print tidy command with bless tidy check failure It's more friendly for beginners to fix fluent alphabetical errors.
2023-08-05add a test ensuring that we enforce noalias on accessesRalf Jung-7/+37
2023-08-05tree borrows: consider some retags as writes for the purpose of data racesRalf Jung-138/+186
2023-08-05ensure we allow zero-sized references to functions and vtablesRalf Jung-0/+32
2023-08-05borrow tracking: simplify provenance updatingRalf Jung-55/+20
2023-08-05fix return place protection when the place is given as a localRalf Jung-1/+71
2023-08-05Auto merge of #113734 - cjgillot:no-crate-lint, r=petrochenkovbors-4/+4
Convert builtin "global" late lints to run per module The compiler currently has 4 non-incremental lints: 1. `clashing_extern_declarations`; 2. `missing_debug_implementations`; 3. ~`unnameable_test_items`;~ changed by https://github.com/rust-lang/rust/pull/114414 4. `missing_docs`. Non-incremental lints get reexecuted for each compilation, which is slow. Moreover, those lints are allow-by-default, so run for nothing most of the time. This PR attempts to make them more incremental-friendly. `clashing_extern_declarations` is moved to a standalone query. `missing_debug_implementation` can use `non_blanket_impls_for_ty` instead of recomputing it. `missing_docs` is harder as it needs to track if there is a `doc(hidden)` module surrounding. I hack around this using the lint level engine. That's easy to implement and allows to re-enable the lint for a re-exported module, while a more proper solution would reuse the same device as `unnameable_test_items`.
2023-08-05fmtRalf Jung-10/+2
2023-08-05Merge from rustcRalf Jung-135/+88
2023-08-05Preparing for merge from rustcRalf Jung-1/+1
2023-08-05Print tidy command with bless tidy check failureyukang-1/+1
2023-08-04Rollup merge of #114482 - compiler-errors:sigh, r=pnkfelixMichael Goulet-2/+7
Fix ui-fulldeps missing the `internal_features` lint on stage 0 Similar to #114102, `ui-fulldeps --stage=1` builds using the the stage 0 compiler instead of the stage 1 compiler. That means that the new `internal_features` lint is referencing a lint that does not exist. Gate the flag it properly until the next feature bump. Maybe we should just add ui-fulldeps stage 1 into CI somewhere so this is flagged before landing.
2023-08-04Rollup merge of #114475 - GuillaumeGomez:migrate-gui-test-color-27, r=notriddleMichael Goulet-2/+2
Migrate GUI colors test to original CSS color format Follow-up of https://github.com/rust-lang/rust/pull/111459. r? `@notriddle`
2023-08-04Auto merge of #114481 - matthiaskrgr:rollup-58pczpl, r=matthiaskrgrbors-5/+5
Rollup of 9 pull requests Successful merges: - #113945 (Fix wrong span for trait selection failure error reporting) - #114351 ([rustc_span][perf] Remove unnecessary string joins and allocs.) - #114418 (bump parking_lot to 0.12) - #114434 (Improve spans for indexing expressions) - #114450 (Fix ICE failed to get layout for ReferencesError) - #114461 (Fix unwrap on None) - #114462 (interpret: add mplace_to_ref helper method) - #114472 (Reword `confusable_idents` lint) - #114477 (Account for `Rc` and `Arc` when suggesting to clone) r? `@ghost` `@rustbot` modify labels: rollup
2023-08-04Auto merge of #114481 - matthiaskrgr:rollup-58pczpl, r=matthiaskrgrbors-54/+52
Rollup of 9 pull requests Successful merges: - #113945 (Fix wrong span for trait selection failure error reporting) - #114351 ([rustc_span][perf] Remove unnecessary string joins and allocs.) - #114418 (bump parking_lot to 0.12) - #114434 (Improve spans for indexing expressions) - #114450 (Fix ICE failed to get layout for ReferencesError) - #114461 (Fix unwrap on None) - #114462 (interpret: add mplace_to_ref helper method) - #114472 (Reword `confusable_idents` lint) - #114477 (Account for `Rc` and `Arc` when suggesting to clone) r? `@ghost` `@rustbot` modify labels: rollup
2023-08-04Fix ui-fulldeps missing the internal_features lint on stage 0Michael Goulet-2/+7
2023-08-04Rollup merge of #114462 - RalfJung:mplace_to_ref, r=oli-obkMatthias Krüger-6/+4
interpret: add mplace_to_ref helper method
2023-08-04Rollup merge of #114434 - Nilstrieb:indexing-spans, r=est31Matthias Krüger-5/+5
Improve spans for indexing expressions fixes #114388 Indexing is similar to method calls in having an arbitrary left-hand-side and then something on the right, which is the main part of the expression. Method calls already have a span for that right part, but indexing does not. This means that long method chains that use indexing have really bad spans, especially when the indexing panics and that span in coverted into a panic location. This does the same thing as method calls for the AST and HIR, storing an extra span which is then put into the `fn_span` field in THIR. r? compiler-errors
2023-08-04Rollup merge of #114434 - Nilstrieb:indexing-spans, r=est31Matthias Krüger-48/+48
Improve spans for indexing expressions fixes #114388 Indexing is similar to method calls in having an arbitrary left-hand-side and then something on the right, which is the main part of the expression. Method calls already have a span for that right part, but indexing does not. This means that long method chains that use indexing have really bad spans, especially when the indexing panics and that span in coverted into a panic location. This does the same thing as method calls for the AST and HIR, storing an extra span which is then put into the `fn_span` field in THIR. r? compiler-errors
2023-08-04Auto merge of #114104 - oli-obk:syn2, r=compiler-errorsbors-13/+2
Lots of tiny incremental simplifications of `EmitterWriter` internals ignore the first commit, it's https://github.com/rust-lang/rust/pull/114088 squashed and rebased, but it's needed to use to use `derive_setters`, as they need a newer `syn` version. Then this PR starts out with removing many arguments that are almost always defaulted to `None` or `false` and replace them with builder methods that can set these fields in the few cases that want to set them. After that it's one commit after the other that removes or merges things until everything becomes some very simple trait objects
2023-08-04Auto merge of #114104 - oli-obk:syn2, r=compiler-errorsbors-76/+23
Lots of tiny incremental simplifications of `EmitterWriter` internals ignore the first commit, it's https://github.com/rust-lang/rust/pull/114088 squashed and rebased, but it's needed to use to use `derive_setters`, as they need a newer `syn` version. Then this PR starts out with removing many arguments that are almost always defaulted to `None` or `false` and replace them with builder methods that can set these fields in the few cases that want to set them. After that it's one commit after the other that removes or merges things until everything becomes some very simple trait objects