about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-10-17Rollup merge of #131844 - Kobzol:mailmap-kobzol, r=jieyouxuMatthias Krüger-0/+1
Add mailmap entry for kobzol Hopefully I got this right.
2024-10-17Rollup merge of #131835 - ferrocene:amanjeev/add-missing-attribute-unwind, ↵Matthias Krüger-0/+1
r=Noratrieb Do not run test where it cannot run This was seen on Ferrocene, where we have a custom test target that does not have unwind support
2024-10-17Rollup merge of #131833 - c-ryan747:patch-1, r=NoratriebMatthias Krüger-4/+5
Add `must_use` to `CommandExt::exec` [CommandExt::exec](https://fburl.com/0qhpo7nu) returns a `std::io::Error` in the case exec fails, but its not currently marked as `must_use` making it easy to accidentally ignore it. This PR adds the `must_use` attributed here as i think it fits the definition in the guide of [When to add #[must_use]](https://std-dev-guide.rust-lang.org/policy/must-use.html#when-to-add-must_use)
2024-10-17Rollup merge of #131825 - lcnr:probe-no-more-leak-2, r=compiler-errorsMatthias Krüger-3/+3
SolverDelegate add assoc type for Infcx makes writing trait bounds on it a lot nicer going forward. r? `@compiler-errors`
2024-10-17Rollup merge of #131818 - heiher:loong-instrument-xray, r=jieyouxuMatthias Krüger-0/+3
Enable XRay instrumentation for LoongArch Linux targets Enable XRay instrumentation for `loongarch64-unknown-linux-{gnu, musl, ohos}` targets.
2024-10-17Rollup merge of #131805 - aeubanks:flat, r=durin42Matthias Krüger-3/+3
rustc_llvm: Fix flattened CLI args Fixes string manipulation errors introduced in #130446.
2024-10-17Rollup merge of #129620 - WaffleLapkin:flake, r=NoratriebMatthias Krüger-0/+141
Provide a more convinient way of developing rustc on NixOS This PR adds envrc files which, once symlinked as `.envrc` will activates a dev shell from `src/tools/nix-dev-shell/flake.nix` or `src/tools/nix-dev-shell/shell.nix`. This is based on - [Current rustc dev guide recommendation for NixOS](https://rustc-dev-guide.rust-lang.org/building/suggested.html?highlight=nix#using-nix-shell) - https://github.com/oxalica/rust-overlay?tab=readme-ov-file#use-in-devshell-for-nix-develop - [Nora's `x` nix package](https://github.com/Noratrieb/nixos/tree/26ea68e1a0aadaab313c1b5a8c1033a9770bd138/custom-pkgs/x) - https://github.com/rust-lang/rustup/pull/2891 - [Direnv: use flake/nix according to availability](https://discourse.nixos.org/t/direnv-use-flake-nix-according-to-availability/29825) This is something that I plan to use personally, but I thought it might be worth upstreaming :) r? Noratrieb
2024-10-17Add mailmap entry for kobzolJakub Beránek-0/+1
2024-10-17Auto merge of #130223 - LaihoE:faster_str_replace, r=thomccbors-2/+63
optimize str.replace Adds a fast path for str.replace for the ascii to ascii case. This allows for autovectorizing the code. Also should this instead be done with specialization? This way we could remove one branch. I think it is the kind of branch that is easy to predict though. Benchmark for the fast path (replace all "a" with "b" in the rust wikipedia article, using criterion) : | N | Speedup | Time New (ns) | Time Old (ns) | |----------|---------|---------------|---------------| | 2 | 2.03 | 13.567 | 27.576 | | 8 | 1.73 | 17.478 | 30.259 | | 11 | 2.46 | 18.296 | 45.055 | | 16 | 2.71 | 17.181 | 46.526 | | 37 | 4.43 | 18.526 | 81.997 | | 64 | 8.54 | 18.670 | 159.470 | | 200 | 9.82 | 29.634 | 291.010 | | 2000 | 24.34 | 81.114 | 1974.300 | | 20000 | 30.61 | 598.520 | 18318.000 | | 1000000 | 29.31 | 33458.000 | 980540.000 |
2024-10-17Enable XRay instrumentation for LoongArch Linux targetsWANG Rui-0/+3
2024-10-17Auto merge of #131832 - lnicola:sync-from-ra, r=lnicolabors-1113/+2098
Subtree update of `rust-analyzer` r? `@ghost`
2024-10-17Do not run test where it cannot runAmanjeev Sethi-0/+1
This was seen on Ferrocene, where we have a custom test target that does not have unwind support
2024-10-17Fix must_use lint for command exec testsCallum Ryan-4/+4
2024-10-17Add must_use to CommandExt::execCallum Ryan-0/+1
2024-10-17Auto merge of #18317 - lnicola:sync-from-rust, r=Veykrilbors-14121/+22801
minor: sync from downstream
2024-10-17Bump rustc cratesLaurențiu Nicola-19/+20
2024-10-17Auto merge of #131827 - matthiaskrgr:rollup-umncb57, r=matthiaskrgrbors-565/+602
Rollup of 7 pull requests Successful merges: - #128391 (Change orphan hint from "only" to "any uncovered type inside...") - #131583 (Setting up indirect access to external data for loongarch64-linux-{musl,ohos}) - #131595 (rustdoc-JSON: Rename "object safe" to "dyn compatible") - #131748 (cleanup canonical queries) - #131798 (llvm: Tolerate propagated range metadata) - #131815 (compiler: use `is_none_or` where it is clearly better) - #131822 (extract `expr_assign_expected_bool_error`) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-17Rollup merge of #131822 - lcnr:typeck-error-reporting, r=jieyouxuMatthias Krüger-78/+84
extract `expr_assign_expected_bool_error` moving diagnostics code out of the happy path makes it a lot easier to read imo
2024-10-17Rollup merge of #131815 - workingjubilee:did-you-mean-is-none-or, r=jieyouxuMatthias Krüger-3/+3
compiler: use `is_none_or` where it is clearly better heuristic was: if it easily allows removing bangs entirely? worth it. if it requires more effort or just moves the bang? not.
2024-10-17Rollup merge of #131798 - maurer:range-inlining, r=durin42Matthias Krüger-1/+1
llvm: Tolerate propagated range metadata llvm/llvm-project#91101 propagates range information across inlining, resulting in more metadata in this test. Tolerate the range metadata if it appears. ``@rustbot:`` label +llvm-main r? ``@durin42`` Please wait a moment before approving, putting the llvm-main tag on it to make sure it fixes the integration test.
2024-10-17Rollup merge of #131748 - lcnr:typing-mode, r=compiler-errorsMatthias Krüger-261/+225
cleanup canonical queries best reviewed commit by commit. adding `CanonicalQueryInput` to stop returning `defining_opaque_types` in query responses is the most involved change here. r? ``@compiler-errors``
2024-10-17Rollup merge of #131595 - fmease:rustdoc-json-mv-obj-safe-dyn-compat, ↵Matthias Krüger-24/+27
r=aDotInTheVoid rustdoc-JSON: Rename "object safe" to "dyn compatible" ~~Blocked: Sits atop #131594. Only the last commit is relevant.~~ (rebased) Part of #130852. r? aDotInTheVoid or rustdoc
2024-10-17Rollup merge of #131583 - heiher:loong-issue-118053, r=jieyouxuMatthias Krüger-0/+2
Setting up indirect access to external data for loongarch64-linux-{musl,ohos} In issue #118053, the `loongarch64-unknown-linux-gnu` target needs indirection to access external data, and so do the `loongarch64-unknown-linux-musl` and `loongarch64-unknown-linux-ohos` targets.
2024-10-17Rollup merge of #128391 - cafce25:issue-128390, r=lcnrMatthias Krüger-198/+260
Change orphan hint from "only" to "any uncovered type inside..." Fix #128390
2024-10-17SolverDelegate add assoc type for Infcxlcnr-3/+3
2024-10-17extract `expr_assign_expected_bool_error`lcnr-78/+84
2024-10-17bless mir-opt testslcnr-44/+44
2024-10-17move `defining_opaque_types` out of `Canonical`lcnr-120/+130
2024-10-17remove Canonical::unchecked_rebind, it's unusedlcnr-10/+0
2024-10-17`DropckOutlives` to `rustc_middle`lcnr-37/+27
2024-10-17remove type_op constructorslcnr-30/+6
2024-10-17`ImpliedOutlivesBounds` to `rustc_middle`lcnr-29/+27
2024-10-17Merge from rust-lang/rustLaurențiu Nicola-14103/+22782
2024-10-17Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-10-16compiler: use `is_none_or` where it is clearly betterJubilee Young-3/+3
heuristic was: if it easily allows removing bangs entirely? worth it. if it requires more effort or just moves the bang? not.
2024-10-17Auto merge of #18315 - varungandhi-src:vg/bump-scip, r=lnicolabors-7/+7
Bump version of scip crate Follow up to https://github.com/sourcegraph/scip/issues/284 Manually verified that SCIP generation works OK for rust-analyzer itself. cc `@RalfJung`
2024-10-17Bump version of scip crateVarun Gandhi-7/+7
2024-10-17Auto merge of #129582 - nbdd0121:unwind, r=nnethercotebors-17/+99
Make destructors on `extern "C"` frames to be executed This would make the example in #123231 print "Noisy Drop". I didn't mark this as fixing the issue because the behaviour is yet to be spec'ed. Tracking: - https://github.com/rust-lang/rust/issues/74990
2024-10-17Auto merge of #131796 - cuviper:no-waker-waker, r=Mark-Simulacrumbors-1/+0
Remove `Waker::waker` from 1.82 relnotes This was noticed in <https://github.com/rust-lang/blog.rust-lang.org/pull/1415#pullrequestreview-2371307666>.
2024-10-16Auto merge of #17990 - Wilfred:local_time_logs, r=Veykrilbors-1/+32
internal: Use local time when formatting logs When debugging rust-analyzer and looking at logs, it's much easier to read when the timestamp is in the local timezone. Before: 2024-08-28T20:55:38.792321Z INFO ParseQuery: invoked at R18460 After: 2024-08-28T13:55:38.792321-07:00 INFO ParseQuery: invoked at R18460
2024-10-16internal: Use local time when formatting logsWilfred Hughes-1/+32
When debugging rust-analyzer and looking at logs, it's much easier to read when the timestamp is in the local timezone. Before: 2024-08-28T20:55:38.792321Z INFO ParseQuery: invoked at R18460 After: 2024-08-28T13:55:38.792321-07:00 INFO ParseQuery: invoked at R18460
2024-10-16clang-formatArthur Eubanks-2/+2
2024-10-16rustc_llvm: Fix flattened CLI argsArthur Eubanks-2/+2
Fixes string manipulation errors introduced in #130446.
2024-10-16rustdoc-JSON: Rename "object safe" to "dyn compatible"León Orell Valerian Liehr-24/+27
2024-10-16Auto merge of #131797 - matthiaskrgr:rollup-lzpze2k, r=matthiaskrgrbors-248/+610
Rollup of 9 pull requests Successful merges: - #130989 (Don't check unsize goal in MIR validation when opaques remain) - #131657 (Rustfmt `for<'a> async` correctly) - #131691 (Delay ambiguous intra-doc link resolution after `Cache` has been populated) - #131730 (Refactor some `core::fmt` macros) - #131751 (Rename `can_coerce` to `may_coerce`, and then structurally resolve correctly in the probe) - #131753 (Unify `secondary_span` and `swap_secondary_and_primary` args in `note_type_err`) - #131776 (Emscripten: Xfail backtrace ui tests) - #131777 (Fix trivially_copy_pass_by_ref in stable_mir) - #131778 (Fix needless_lifetimes in stable_mir) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-16llvm: Tolerate propagated range metadataMatthew Maurer-1/+1
llvm/llvm-project#91101 propagates range information across inlining, resulting in more metadata in this test. Tolerate the range metadata if it appears.
2024-10-16Rollup merge of #131778 - practicalrs:fix_needless_lifetimes, r=jieyouxuMatthias Krüger-1/+1
Fix needless_lifetimes in stable_mir Hi, This PR fixes the following clippy warning ``` warning: the following explicit lifetimes could be elided: 'a --> compiler/stable_mir/src/mir/visit.rs:490:6 | 490 | impl<'a> PlaceRef<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 490 - impl<'a> PlaceRef<'a> { 490 + impl PlaceRef<'_> { | ``` Best regards, Michal
2024-10-16Rollup merge of #131777 - practicalrs:fix_trivially_copy_pass_by_ref, r=jieyouxuMatthias Krüger-3/+3
Fix trivially_copy_pass_by_ref in stable_mir Hi, This PR fixes the following clippy warnings ``` warning: this argument (8 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte) --> compiler/stable_mir/src/mir/body.rs:1042:34 | 1042 | fn subslice_ty(ty: Ty, from: &u64, to: &u64, from_end: &bool) -> Result<Ty, Error> { | ^^^^ help: consider passing by value instead: `u64` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref = note: requested on the command line with `-W clippy::trivially-copy-pass-by-ref` warning: this argument (8 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte) --> compiler/stable_mir/src/mir/body.rs:1042:44 | 1042 | fn subslice_ty(ty: Ty, from: &u64, to: &u64, from_end: &bool) -> Result<Ty, Error> { | ^^^^ help: consider passing by value instead: `u64` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref warning: this argument (1 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte) --> compiler/stable_mir/src/mir/body.rs:1042:60 | 1042 | fn subslice_ty(ty: Ty, from: &u64, to: &u64, from_end: &bool) -> Result<Ty, Error> { | ^^^^^ help: consider passing by value instead: `bool` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref ``` Best regards, Michal
2024-10-16Rollup merge of #131776 - hoodmane:emscripten-xfail-backtrace-tests, r=jieyouxuMatthias Krüger-0/+2
Emscripten: Xfail backtrace ui tests It is possible to link libunwind and use the normal backtrace code, but it fails to symbolize stack traces. I investigated and could get the list of instruction pointers and symbol names, but I'm not sure how to use the dwarf info to map from instruction pointer to source location. In any case, fixing this is not a high priority. See https://github.com/rust-lang/rust/issues/131738 r?jieyouxu
2024-10-16Rollup merge of #131753 - compiler-errors:swap-secondary, r=jieyouxuMatthias Krüger-22/+11
Unify `secondary_span` and `swap_secondary_and_primary` args in `note_type_err` Tiny tweak b/c working w `note_type_err` is kinda a mess.